שלח תשובה

זירת השאלות

571
צפיות
16
תשובות

בעיה במסד נתונים mysql

,‏ 2 באוקטובר, 2004

בימים אלו אני לומד php בניתי מערכת חדשות (לפי המדריך כאן)
מישום מה אני לא מצליח להציג הכל עובד כשורה כניראה יש בעיה במסד

הינה תמונה של המסד איך שיצרתי אותו במה טעיתי?
http://members.lycos.co.uk/omer131/Image1.gif

דרך אגב אני מנסה להכניס טקסט רגיל


תודה מראש

תגיות:

16 תשובות

  1. BuildHome הגיב:

    תשובה
    יש לך בתמונה שדה Length/Values והוא חובה.
    לא מילאת בו ערכים.

  2. BuildHome הגיב:

    גודל השדה (מספר התווים שהוא יכיל)

  3. omer131 הגיב:

    עכשיו זה לא יוצר לי את הטבלה
    מה אני צריך לעשות?

  4. omer131 הגיב:

    הינה הקודים הרלוונתים
    הינה השאילתה שאיתה אני מכניס:


    mysql_query("INSERT INTO news (in1,in2) VALUES ('$in1','$in2')") or die("ERROR: ".mysql_error());

    הינה הקוד שאיתו אני קורא:


    <?php
    $host="localhost";
    $user="omer131";
    $password="1156780112344";
    $db="omer131_uk_db";
    $con=@mysql_connect($host,$user,$password);
    @mysql_select_db($db);
    $sqlquery="SELECT * FROM news";
    $theresult=@mysql_query($sqlquery,$con);
    ?>
    <html>
    <body>
    <table border="1" width="500">
    <tr>
    <td align="center"><b>אני מנסה לכתוב סתם טקסט</b></td>
    <td align="center"><b>סתמי לא משו מיוחד</b></td>
    </tr>
    <?
    while ($recordeset=@mysql_fetch_array($theresult))
    {
    echo "<tr>";
    echo "<td><center>".$recordeset["in1"]."</center></td>";
    echo "<td><center>".$recordeset["in2"]."</center></td>";
    echo "</tr>";
    }
    ?>
    </TABLE>
    <?php mysql_close($con);?>
    </body>
    </html>

  5. jonatan44 הגיב:

    …….
    הרשתי לעצמי לשפר לך את הקוד:
    <?php
    $con=@mysql_connect("localhost","omer131","1156780112344");
    @mysql_select_db("omer131_uk_db");
    $SQL=@mysql_query("SELECT * FROM `news`",$con);
    @mysql_close($con);
    $con=null;
    ?>
    <html>
    <body>
    <table border="1" width="500">
    <tr>
    <td align="center"><b>אני מנסה לכתוב סתם טקסט</b></td>
    <td align="center"><b>סתמי לא משו מיוחד</b></td>
    </tr>
    <?php
    while ($recordeset=@mysql_fetch_array($SQL))
    {
    echo "<tr>";
    echo "<td><center>".$recordeset["in1"]."</center></td>";
    echo "<td><center>".$recordeset["in2"]."</center></td>";
    echo "</tr>";
    }
    @mysql_free_result($recordeset);
    $recordeset=null;
    $SQL=null;
    ?>
    </TABLE>
    </body>
    </html>
    אז דבר ראשון, אתה לא צריך להגדיר מישתנה לכלערך בחיבור (שרת, משתמש, סיסמה), במדריך זה רק כדאי להבהיר מה זה כל דבר, אותו דבר גם למסד נתונים.
    דבר שני, אתה לא צריך לאחר ה mysql_query להשאיר את אוביקט החיבור פתוח, סוגרים אותו לאחר מכן, כמו כן $con=null; הורג את המישתנה וכך מפנה זיכרון בשרת.
    גם לשאילתה אתה לא צריך משתנה.
    שיניתי גם את שם המשתנה של השאילתה ל $SQL כי לדעתי זה הרבה יותר ברור.
    אחרי הלולאה ששולפת את התוצאות בהתאם לשאילתה שהוצבה אני מפנה את הזיכרון (תמיד! חשוב מאוד לפנות משתנים בהקדם האפשרי), והורג את המשתנה, לאחר מכן הריגלת המשתנה $SQL.

    עכשיו לבעייה האמיתית, אתה לא הבאתה שגיאה, תיזכור את זה טוב טוב :::: תמיד תביא שגיאה, לא חשוב מהיא תמיד תביא, תמיד תמיד תמיד, כי ככה אי אפשר לעזור לך.

    חוץ מיזה שאני לא מבין איך הקודים שבאתה קשורים אלינו.
    בהצלחה.

  6. omer131 הגיב:

    הקוד לא עובד עכשיו אני בטוח שזה בבס
    יס הנתונים
    אולי תסבירו לי בבקשה איך אפשר לעשות טבלה שמכניסה רק טקסט?

  7. jonatan44 הגיב:

    ככה:
    דבר ראשון יעש במדור ה PHP מאמאר על זה, תיקרא אותו, וזאותי הפעם ה 100 שאני אומר לך, אם היו לך עוד שאלות תבוא ותישאל, אל תצפה שיסבירו לך הכול מכלום.
    עכשיו תריץ על המסד נתונים שלך את השאילתה הזאות:
    CREATE TABLE `test` (
    `num1` VARCHAR( 255 ) NOT NULL ,
    `num2` VARCHAR( 255 ) NOT NULLזה יצור טבלה בשם test ושדות בשם num1,num2 מסוג VARCHAR (טקסט) באורך של 255.
    שנה את הפרטים המתאימים.

  8. omer131 הגיב:

    מוזר עדין לא עובד שיניתי הכל וזה לא
    עובד….
    זה שוב מראה לי רווח כזה בטבלה
    והבסיס נתונים קלט את מה שנתתה לי

  9. jonatan44 הגיב:

    הבעייה לא בקוד
    הבעייה אצלך, אתה עושה משהוא ואתה לא מגלה לי, תעבר על הקוד בפעם הראשונה, תיקרא ותבין את הקוד, אני מוכן לשים כסף על זה שלא עיינתה בקוד ברצינות להפני שהרצתה,תיקרא בפעם הראשונה, שנייה,שלישית וכה שתצטרך.

  10. omer131 הגיב:

    אני קראתי הרבה את הקוד ושיניתי
    אבל מה יש כל כך לשנות
    חוץ משמות התאים ושם הטבלה?

  11. omer131 הגיב:

    אני חושב שעליתי על הבעיה
    שם הטבלה
    jokes

    שם התאים
    j1,j2

    הקוד של הכנסת הנתונים:
    mysql_query("INSERT INTO jokes (j1,j2) VALUES ('$j1','$j2')") or die("ERROR: ".mysql_error());

שלח תשובה