$time=date("G:i:s j.n.Y");
$wholetime="$time";
mysql_query("INSERT INTO rivase_chat_posts SET sender='$user', content='$msg', time='$wholetime', 'to'='$affectuser'");
$msg="";
我在做私人聊天的事。那是我的密码。将导致以下错误:
您的SQL语法有错误;查看与您的MySQL服务器版本相对应的手册,了解第1行“to”='gs'附近使用的正确语法
($user=“gskartwii”,$msg=“hi”,$affectuser='gs')
对于列名,请使用反勾号而不是单引号:
`to`='$affectuser'
单引号仅用于字符串。在MySQL中,背勾(通常在键盘上数字1的左边)是用于列或表名的东西。
编辑:正如Michael Berkowski正确指出的那样,您必须为列名这样做的原因是因为to
是mysql中的保留词--这是一种很好的说法,即它是mysql认为的特殊词,通常在查询中表示某种意思。在这一点上,使用保留字作为表中的列可能并不是最好的主意--在使用它们的每个实例中都必须对它们进行反勾。您可能需要考虑将其重命名为touser
,这样可能会使项目的其余部分更易于SQL输出:)
您将“to”
放在单引号之间。列名不加引号,或在后引号之间加引号。单引号用于字符串。您无法更新字符串,因此set'to'='user'
是一个错误。
INSERT INTO rivase_chat_posts
SET `sender`='$user', `content`='$msg', `time`='$wholetime', `to`='$affectuser'
更新:注释说to
是一个保留字,应该总是转义--使用后引号。