1

这是一个私人消息系统。它应该将数据插入表中,但根本不是......感谢您的帮助。

Sql 错误:您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以了解在 'from, body, subject, date_sent VALUES('itunes89','itunes89','sd','s','9-05-2012' 附近使用的正确语法在第 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`, 正文, 主题, 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 回答