php - MySQL - INSERT INTO 说我有 'to' ='$user2' 的错误语法

标签 php mysql chat

<分区>

$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="";

我正在做私有(private)聊天的事情。那是我的代码。它导致此错误:

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 ''to'='gs'' at line 1
($user="gskartwii", $msg="HI", $affectuser='gs')

最佳答案

对于列名,使用反引号而不是单引号:

`to`='$affectuser'

单引号仅适用于字符串。反引号(通常在键盘上数字 1 的左边)用于 mysql 中的列名或表名。

编辑:正如 Michael Berkowski 正确指出的那样,您必须对列名执行此操作的原因是因为 to 是 mysql 中的保留字 - 这是一种可爱的说法一个特殊的词,mysql 通常认为它在查询中表示某种含义。在这一点上,使用保留字作为表中的列可能不是最好的主意——您必须在使用它们的每个实例中反引号。您可能需要考虑将其重命名为 toUser 之类的名称,这可能会使项目的其余部分更容易通过 SQL 输出:)

关于php - MySQL - INSERT INTO 说我有 'to' ='$user2' 的错误语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12178910/

相关文章:

php - 如何使用 curl 发送数组和对象

php - 如何在 PHP 代码中插入笑脸?

PHP Mysql ASC AND DESC 命令正确使用吗?

php - SQL 语法错误,请检查与您的 MySQL 服务器版本对应的手册,以了解在第 1 行 'ORDER BY category ASC' 附近使用的正确语法

php - 如何确定每个州的中心邮政编码?

php - 在 php 中使用 PDO 时从 mysql 数据库读取数组时出现问题

android - 可以将 HTTP REST API 用于聊天应用程序吗?

javascript - JSXC.start 有一些延迟

php - 根据独占值获取结果 : mysql & laravel

mysql - 某个日期范围内每个用户每天的登录次数