1

これはプライベートメッセージシステムです。テーブルにデータを挿入する必要がありますが、まったくそうではありません。助けてくれてありがとう。

SQLエラー:SQL構文にエラーがあります。'from、body、subject、date_sent VALUES(' itunes89'、' itunes89'、' sd'、' s'、' 9-05-2012'の近くで使用する正しい構文については、MySQLサーバーのバージョンに対応するマニュアルを確認してください。 1行目

$sql = "INSERT INTO pm_inbox (to_user, from, body,subject,date_sent)VALUES('$userIdFromPost','$user','$body','$sub','$date')";
mysql_query($sql);
echo "Error: " . mysql_error($con);
echo "<br/>Inserted: '$userIdFromPost','$user','$body','$sub','$date'";
4

2 に答える 2

2

)列リストの後を見逃しました。関数の使用はご遠慮くださいmysql_。プリペアドステートメントは、次のいずれかmysqliまたはそのPDOように使用します。

$stmt = $mysqli->prepare("INSERT INTO pm_inbox (to_user, from, body, subject, date_sent) VALUES(?,?,?,?,?)"); 
$stmt->bind_param($userIdFromPost,$user,$body,$sub,$date);

さらに、fromはMySQLで予約されている名前です。次のようにケースに入れる必要があります。

(to_user、 `from`、body、subject、date_sent)
于 2012-09-06T02:42:55.603 に答える
1

閉じ括弧を見逃しました:

$sql = "INSERT INTO pm_inbox (to_user, from, body, subject, date_sent VALUES('$userIdFromPost','$user','$body','$sub','$date')";

する必要があります

$sql = "INSERT INTO pm_inbox (to_user, from, body, subject, date_sent) VALUES('$userIdFromPost','$user','$body','$sub','$date')";
于 2012-09-06T02:40:35.847 に答える