1

我正在尝试更新表中的字段,但我不断收到此语法错误。

global $conn, $strTableName;
db_exec("UPDATE equipment SET EContractNum = " . $_SESSION[$strTableName."_masterkey1"] . " WHERE EContractNum = " . $values['EContractNum'], $conn);

这是错误:

错误类型:256 错误描述:您的 SQL 语法有错误;检查与您的 MYSQL 服务器版本相对应的手册,以在第 1 行的“WHERE econtractnum=35867111”附近使用正确的语法

我查看了几个与我相似的搜索,但我无法弄清楚我做错了什么。我对此很陌生,所以这可能很简单。我似乎无法让它工作。谢谢你的帮助。

4

1 回答 1

2

$_SESSION[$strTableName."_masterkey1"]可能是空的,或者是需要引用的字符串。

另外,不要将变量的原始值放入这样的查询中。使用框架或准备好的语句。这对安全性有好处,并且还可以防止这种错误(嗯,它至少会将其变成另一种错误)。

于 2012-11-16T04:43:39.320 回答