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

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

Nils 16-11-07 06:23

הקוד עובד אך עדיין מציג הערה כזאת \=
 
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '4'' at line 1


עשיתי טופס עריכה שלחתי למערכת,הוא הצליח לערוך מהמסדר אך עדיין רושם את הדבר הזה

מה אני צריך לעשות? אשמח לדעת גם איך לגשת לבעיות מהסוג הזה

הקוד המלא:

PHP קוד:

<?
session_start
(); 
if(isset(
$_SESSION['mayaportdolioconnect']))
{
ob_start();
include 
'config.php';
include (
"script.php"); 

$id=$_GET['id'];

$title=$_POST['title'];

$text=$_POST['text'];




  
$query mysql_query("SELECT * FROM pages WHERE id=$id"); 
  while (
$row mysql_fetch_array($query))
{
$printtitle $row['title']; 

$printtext $row['text'];
 
echo <<<st
<html dir="rtl">

<head>
<meta http-equiv="Content-Language" content="he">
<link rel="stylesheet" type="text/css" href="styleadmin.css">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1255">
<title>דף חדש 1</title>
</head>

<body>

<p>עריכת דף פנימי של האתר<span lang="en-us">&gt;&gt;</span></p>
תוכן העמוד<span lang="en-us">:</span>
    <form action="" method="post">
    <table cellpadding="0" cellspacing="0">
    <tr>
            <td><p>&nbsp;</p>
            <p>&nbsp;</p>
            <p>&nbsp;</p>
            <p>&nbsp;</p>
            <p>&nbsp;</p>
            <p>&nbsp;</td>
            <td>
כותרת:<input type="text" name="title" size="20" value="$printtitle"><p>
<textarea rows="9" cols="105" name="text">$printtext</textarea>
<input type="submit" name="submit" value="ערוך" style="float: right" /></td>
    </tr>
    <tr>
            <td>
           </td>
    </tr>
    </table>
    </form>
</body>

</html>
st;
}


        if(isset(
$_POST['submit']))
        {

            if(empty(
$text))
            {
                  echo 
"הפעולה לא הושלמה"
            }
            else 
            {

$query="UPDATE pages SET title='$title', text='$text' WHERE id='$id'";
$result=mysql_query($query) or die (mysql_error());

                
$edit_q mysql_query("UPDATE pages SET title='$title',text='$text'' WHERE id='$id'") or die(mysql_error());
                if(
$edit_q)
                {
                      echo 
"נערך בהצלחה"
                }
            }
        }
} else {
echo 
"אתה לא מחובר";
//כאן אתה רושם את מה שאתה רוצה עם הסשן לא קיים

}
ob_end_flush();
?>


יניב בן צבי 16-11-07 06:57

הבעיה היא בשאילתות שביצעתה יש בהם שגיאת כתיבה

Ben Segal 16-11-07 07:28

השגיאה היא בשורה 79:
PHP קוד:

$edit_q mysql_query("UPDATE pages SET title='$title',text='$text'' WHERE id='$id'") or die(mysql_error()); 

שים לב שיש שם גרש מיותרת.
תחליף את כל השורה הזאת ב:
PHP קוד:

$edit_q mysql_query("UPDATE pages SET title='$title',text='$text' WHERE id='$id'") or die(mysql_error()); 


Rom 16-11-07 13:34

וגם תוריד את הגרשיים מפה:
קוד:

id='$id'
כאשר זה מספר לא צריך גרשיים.

Derey22 16-11-07 13:38

הזה שמעלי אתה מתכוון אינטגרל(מספרים שלמים).
לפותח האשכול:תחזור על משתנים וסוגי משתנים.זה הבסיס ופה היה לך בעיה.

DavidBD 16-11-07 13:39

ציטוט:

נכתב במקור על ידי Rom (פרסם 579503)
וגם תוריד את הגרשיים מפה:
קוד:

id='$id'
כאשר זה מספר לא צריך גרשיים.

בASP לא, אך בPHP כן.
זה נותן שגיאה אם אין גרשיים, מניסיון.

Nils 16-11-07 16:37

תודה רבה אני אנסה [=

daMn 17-11-07 15:16

שתידע לפעם הבאה, אם הוא מציג שגיאת sql והוא אומר שיש שגיאה בשורה הראשונה, אתה מחפש את השאילתא הראשונה בדף.
השגיאה שלך הייתה שלא הוספת גרשייים לid$

Nils 17-11-07 17:20

השגיאה הייתה שהיה לי '' פעמיים במקום פעם אחת


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

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