【发布时间】:2017-05-22 12:02:46
【问题描述】:
我正在尝试编写一个 SQL 命令来更新数据库表中的一些信息,我正在使用基本的 PHP 变量将此信息添加到正确的列中。
我已经编写了很多类似的命令,但没有任何问题,但我一生都无法弄清楚为什么这会不断产生错误消息。
这是查询..
$sql = "UPDATE nexnum SET regexp = '{$regexp2}', regstatus = '{$regstatus}', expflag = '{$expflag}' WHERE duns = {$duns}";
我已经尝试过使用和不使用围绕变量的引号,我已经尝试将其分解为三个单独的命令/查询。这些变量在我的 PHP 代码中都可以正常工作。这是语法问题吗?
【问题讨论】:
-
错误消息通常包含一些关于问题所在的提示。另外请使用参数化/准备好的查询,在查询中使用占位符可以使查询安全,您不必再担心查询中的引号和其他内容:)
-
您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 1 行的 'regexp = '2017-12-08', regstatus = 'ACTIVE', expflag = '1' WHERE duns = 04687848' 附近使用正确的语法
-
您必须在最后一个用作 duns = {'$duns'} OR duns = '$duns' 的变量处添加单引号
-
@PavanBaddi OP 声明:“我已经尝试过使用和不使用围绕变量的引号” - 这不是导致该错误的原因,而是其他原因很明显。
-
near 'regexp- 错误告诉您问题所在。 @JohnC。