הוסטס - פורום אחסון האתרים הגדול בישראל

הוסטס - פורום אחסון האתרים הגדול בישראל (https://hosts.co.il/forums/index.php)
-   פורום תיכנות (https://hosts.co.il/forums/forumdisplay.php?f=14)
-   -   עידכון נתונים (https://hosts.co.il/forums/showthread.php?t=71260)

SniR-S 18-01-09 18:48

עידכון נתונים
 
אוקי חבר'ס, בזמן האחרון אני יותר מידי צריך אתכם אה?
חחח |Lol|
אבל עזרתם לי מאוד עד עכשיו, כניראה שקצת קשה ללמוד את PHP לבד \-:

אז זה הקוד שלי לעדכן את השדות $title ו $news ב id מסויים..
PHP קוד:

if ($_GET['id']) {
  
$id $_GET['id'];
$query "SELECT * FROM table WHERE id=$id";
$result mysql_query($query)
    or die(
"Query failed: " mysql_error());
while (
$row mysql_fetch_array($result)) {
$id $row['id'];
$title $row['title'];
$news $row['news'];
  echo 
"<form action='?id=update&$id' method='post'>";
  echo 
"<input type='text' name='title' size='70' maxlength='50' value=\"$title\"> &nbsp; <input type='submit' name='button' value='שלח'>
        <br /><textarea rows='10' cols='100' name='news' onPaste='return checkArea(this)' onKeyPress='return checkArea(this)' onKeyUp='totalChars.innerText=this.value.length'>$news</textarea>
<br />
<span id=totalChars>0</span> מתוך 500 תווים"
;
  echo 
"</form>";
}
}

else if (
$_GET['id'] == "update&$id") {
$title $_POST['title'];
$news $_POST['news'];
$title htmlspecialchars($title);
$news htmlspecialchars($news);
$query "UPDATE table SET title='$title' , news='$news' WHERE id='$id'";
$result mysql_query($query)
    or die(
"Query failed: ".mysql_error());
echo 
"<meta http-equiv=\"refresh\" content=\"0;url='$url'\" />";


כן, אולי זה לא הקוד הכי מקצועי שראיתם ואולי מעפן, אבל לומדים לאט לאט (:
אוקי בקיצור, כשאני לוחץ על הכפתור 'שלח' לעדכן את הנתונים הוא מחזיר לי שגיאה כזו:
PHP קוד:

Query failedYou have an error in your SQL syntaxcheck the manual that corresponds to your MySQL server version for the right syntax to use near 'update' at line 1 

למה זה קורה? מה לא טוב בקוד שלי?

M.a.T.a.N 18-01-09 22:32

לא הבנתי..אתה יכול להסביר בערך מה אתה עושה פה?

SniR-S 18-01-09 22:41

מעדכן נתונים במסד בעזרת טופס...

Erez | TrustMedia.co.il 18-01-09 22:48

PHP קוד:

if ($_GET['id']) {
  
$id $_GET['id'];
$query "SELECT * FROM table WHERE id='$id'";
$result mysql_query($query)
    or die(
"Query failed: " mysql_error());
while (
$row mysql_fetch_array($result)) {
$id $row['id'];
$title $row['title'];
$news $row['news'];
  echo 
"<form action='?id=update&$id' method='post'>";
  echo 
"<input type='text' name='title' size='70' maxlength='50' value=\"$title\"> &nbsp; <input type='submit' name='button' value='שלח'>
        <br /><textarea rows='10' cols='100' name='news' onPaste='return checkArea(this)' onKeyPress='return checkArea(this)' onKeyUp='totalChars.innerText=this.value.length'>$news</textarea>
<br />
<span id=totalChars>0</span> מתוך 500 תווים"
;
  echo 
"</form>";
}
}

else if (
$_GET['id'] == "update&$id") {
$title $_POST['title'];
$news $_POST['news'];
$title htmlspecialchars($title);
$news htmlspecialchars($news);
$query "UPDATE table SET title='$title' , news='$news' WHERE id='$id'";
$result mysql_query($query)
    or die(
"Query failed: ".mysql_error());
echo 
"<meta http-equiv=\"refresh\" content=\"0;url='$url'\" />";



SniR-S 19-01-09 09:43

EAStyle, אם בשליפה הוספת ל $id גרשיים זה עדיין לא עובד.
וזה לא הבעיה השליפה, הכל תקין בשליפה, אבל בעידכון משום מה זה לא מתעדכן \-:
כשהוספתי גרשיים הוא לא הביא לי שגיאת תחביר של SQL אבל הוא גם לא עידכן.

M.a.T.a.N 19-01-09 14:05

תנסה לעשות את שאילת העדכון כך:
PHP קוד:

$query "UPDATE `table` SET `title`='$title', `news`='$news' WHERE `id`='$id'"

שים לב שאלו לא גרשים רגילות או ציטוט,
אצלי הסימן הזה נמצא משמאל למספר 1 (בספרים שלמעלה לא בצד).

ואם גם זה לא יעבוד אז נסה:
PHP קוד:

$query "UPDATE `table` SET `title`='{$title}', `news`='{$news}' WHERE `id`='{$id}'"


vadimg88 19-01-09 14:30

הסיבה היא שהוא משתמש במילות שמורות של MYSQL מילים כמו table, update, title, desc הם מילים שמורות תמנע מלהשתמש בהם או לחלופין תתחום אותם ב back tic (`)

SniR-S 19-01-09 14:32

לא, לצערי גם השאילתות האלה גם לא עובדים );

עריכה:
מזה back tic (`) ואדים?

vadimg88 19-01-09 14:49

זה כמו גרש ( ' ) רק נראה ככה ( ` ) באלכסון נמצא ליד הספרה אחת במקלדת בצד שמאל.

sholaman 19-01-09 15:46

ציטוט:

נכתב במקור על ידי vadimg88 (פרסם 693639)
הסיבה היא שהוא משתמש במילות שמורות של MYSQL מילים כמו table, update, title, desc הם מילים שמורות תמנע מלהשתמש בהם או לחלופין תתחום אותם ב back tic (`)

זאת הסיבה, תשנה את השאילתה לכזאת:
PHP קוד:

$query "UPDATE `table` SET `title`='"$title ."' , `news`='"$news ."' WHERE `id`="$id



כל הזמנים הם GMT +2. הזמן כעת הוא 23:43.

מופעל באמצעות VBulletin גרסה 3.8.6
כל הזכויות שמורות ©
כל הזכויות שמורות לסולל יבוא ורשתות (1997) בע"מ