PHP更新数据库数据时出现SQL syntax error语法错误如何解决
你的SQL语句存在语法错误,核心原因如下:
- MySQL中表名、字段名如果包含
-等特殊字符,或者和SQL保留字重名,必须用反引号`包裹才能被正确解析。你的表名where-am-I带有连字符,且time是SQL内置保留字,都没有加反引号,导致解析失败。
修改方案:
将你的UPDATE语句行替换为以下代码即可:
$sql = "UPDATE `where-am-I` SET `time`='$currentTime' WHERE id=1";
额外优化建议:
- 目前代码直接使用
$_GET取值拼接SQL存在SQL注入风险,后续建议改用预处理语句执行SQL操作,避免恶意注入攻击。 - 建议尽量避免使用带特殊字符的表名、和SQL保留字重名的字段名,减少不必要的语法问题。
内容的提问来源于stack exchange,提问作者edgar_wideman
相关产品推荐
相关产品推荐

