1

作为一个新手 MySQL 用户,我尝试插入,但我刚刚阅读了 MySQL 文档,您只能在空白行上插入。我的 UPDATE 语句需要工作,但我不确定我的语法是否正确。

$query3 = "UPDATE `offices` SET `scash`="$total" WHERE `officename`="$office"";

office 是表名。scash 是要更新的行。$total 是从帖子中提取的变量。$office 是从同一数据库中提取的变量。我只想将 scash 设置为 officename 为 $office 的总计。

解析错误:语法错误,意外的 T_VARIABLE 是我得到的错误。

4

3 回答 3

2
$query3 = "UPDATE `offices` SET `scash`='$total' WHERE `officename`='$office'";

用字符串中的普通引号替换双引号,因为双引号是字符串分隔符,不能在字符串中使用。

正如 Marc B 提到的那样,您的代码可能会受到 SQL 注入的影响。请参阅这篇文章如何避免这种情况。

于 2012-10-22T17:26:28.253 回答
1

如果您仍想在双引号内使用双引号,请将其转义..

您的查询可以修改如下..

$query3 = "UPDATE `offices` SET `scash`=\"$total\" WHERE `officename`=\"$office\"";
于 2012-10-22T17:48:22.590 回答
1

你在报价上出错了

$query3 = "UPDATE `offices` SET `scash`="$total" WHERE `officename`='$office'";

LIMIT 1如果您只想更新一行,也请始终使用...

并在更新您的行之前清理您的输入,至少使用mysqli_real_escape_string()

于 2012-10-22T17:27:51.850 回答