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

使用PHP+Ajax导入XML到MySQL表时Con-1表名报错求助

解决MySQL表名含特殊字符(Con-1)的PHP操作问题

嘿,这个问题我之前也碰到过!问题出在你的表名Con-1里的连字符-上——MySQL会把这个符号当成减法运算符来解析,所以它根本不会把Con-1认成一个完整的表名,自然就抛出错误了。

快速修复方案

在SQL语句中,把包含特殊字符的表名用**反引号()**包裹起来,反引号就是键盘上数字1`左侧的那个符号。举个例子:

假设你原来的代码是这样的(错误写法):

$sql = "INSERT INTO Con-1 (xml_data, upload_time) VALUES ('$xmlContent', NOW())";

修改成正确的写法:

$sql = "INSERT INTO `Con-1` (xml_data, upload_time) VALUES ('$xmlContent', NOW())";

只要给Con-1加上反引号,MySQL就能正确识别这是一个表名,而不是表达式Con - 1了。

额外建议

如果你的项目还处于初期阶段,建议把表名改成Con_1这种用下划线替代连字符的形式。这样后续编写SQL语句时,不用每次都记得加反引号,能避免很多类似的语法错误,也更符合数据库命名的常规规范。

内容的提问来源于stack exchange,提问作者Sandy Hartak

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 03:38:52