php - 在查询中尝试附加 SET 命令时出错

标签 php sql mysql mysql-error-1054

下面的 MySQL 查询运行良好。它将 MySQL 数据库中的字段 votes_up 替换为变量 $votes_up 的任何值。

UPDATE submission 
   SET votes_up = $votes_up 
 WHERE submissionid = $id

但是,当我尝试添加第二个条件以同时将名为 flag1 的字段替换为名为 $uflag 的变量的值时,我收到一条错误消息。我尝试为此使用的查询如下。如果 $uflag 的值为“admin”,则错误消息显示“字段列表”中的未知列“admin”。此外,$uflag 的值未放入数据库中。有什么想法为什么我会收到此错误吗?

UPDATE submission
   SET votes_up = $votes_up, 
       flag1 = $uflag 
 WHERE submissionid = $id

最佳答案

您需要为字符串值添加引号:

UPDATE submission 
SET votes_up = $votes_up, flag1 = $uflag 
WHERE submissionid = $id

应该是:

UPDATE submission 
SET votes_up = $votes_up, flag1 = '$uflag' 
WHERE submissionid = $id

关于php - 在查询中尝试附加 SET 命令时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4196657/

相关文章:

Java char[] array jPasswordField处理和SQL更新语句

sql - 如何从 MySQL 的一系列行中随机选择 16 条记录?

php - MySql/PHP 只从数据库返回一个结果

php - 使用 mysql php 自动更新图像,我假设 javascript

php - 如何在查询语句中格式化日期?

php - 左连接的 MySQL/doctrine 问题

php - 空字符串上的 JSON 解码与 PHP 7 的行为不同

php - 在 php 类中使用 phpmailer nameclass

SQL 代码错误输入不匹配 'from' 期待

python - 统一码编码错误 : 'ascii' codec can't encode character u'\u2019' in position 47: ordinal not in range(128)