You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

从WAMP服务器获取数据时SQL查询语法错误求助:[name]=?附近报错

解决MySQL查询中的[name]=? and [password]=?语法错误

嘿,这个问题我太熟悉了——你是把SQL Server的语法习惯带到MySQL里啦!

问题根源

MySQL 不支持用方括号[]包裹列名,这是SQL Server特有的写法。MySQL识别的列名分隔符是反引号`,如果你的列名不是MySQL的保留关键字,甚至可以直接写列名不用任何包裹。

修正后的正确写法

你可以根据情况选下面两种方式:

  • 如果name和password不是保留字(绝大多数情况下都不是),直接去掉方括号:
    SELECT * FROM your_table_name WHERE name=? AND password=?
    
  • 要是你担心列名和保留字冲突(或者就是习惯用分隔符),换成反引号:
    SELECT * FROM your_table_name WHERE `name`=? AND `password`=?
    

额外提醒

既然你已经在用占位符?了,一定要确保是通过**预处理语句(Prepared Statement)**执行这条SQL,别直接拼接字符串,这样既能避免SQL注入,也能让占位符正常工作。

内容的提问来源于stack exchange,提问作者Ashutosh Gupta

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 07:04:26