php中嵌入的sql语句长度问题
2017-05-14 13:51
281 查看
这个问题花费了我长达18小时,从昨天中午开始到现在,折腾的我茶饭不思。
问题是这样的,php编写的API接收到来自前端的N个数据,然后通过sql插入到数据库中,我本来是这样写的。
过了很久,我把php中的sql字段删除到8个(不要问我为什么是8个,我快疯了一个一个减少的),发现insert into 表名 (8个字段)values (8个?),这样是可以插入的,9个就不行。
WTF?EXO me?
我从网上搜了好久,也翻墙出去搜,压根没人遇到我这种问题。
我最后换了种写法。
问题是这样的,php编写的API接收到来自前端的N个数据,然后通过sql插入到数据库中,我本来是这样写的。
$stmt = $this->conn->prepare("INSERT INTO mocaresult(userID, upload, checkdate, matchtest, copydraw, clockoutline, clocknum, clockpoint,name1, name2,
name3, reciteinorder, recitereverse, knock1, minus7first, minus7second, minus7third, minus7forth, minus7fifth) VALUES(?,?,?,?,?,?,?,?,?,?,?,
?,?,?,?,?,?,?,?)"); $stmt->bind_param("ssssssss", $userID, $upload, $checkdate, $matchtest, $copydraw, $clockoutline, $clocknum, $clockpoint, $name1, $name2, $name3,
$reciteinorder, $recitereverse, $knock1, $minus7first, $minus7second, $minus7third, $minus7forth, $minus7fifth); $result = $stmt->execute(); $stmt->close();但是不行,数据库中并没有插入进去,我花了5个小时排查前端的问题,没有任何问题,搞得我怀疑人生了。之后我直接把高中的控制变量法用到极致了, 和与这个功能几乎一致的一个功能进行对比,发现前端没有丝毫问题,同样的前端我把数据写进另一个api中就没有任何问题,终于把前端的问题排除了。
过了很久,我把php中的sql字段删除到8个(不要问我为什么是8个,我快疯了一个一个减少的),发现insert into 表名 (8个字段)values (8个?),这样是可以插入的,9个就不行。
WTF?EXO me?
我从网上搜了好久,也翻墙出去搜,压根没人遇到我这种问题。
我最后换了种写法。
$stmt = $this->conn->prepare("INSERT INTO mocaresult(userID, upload, checkdate, matchtest, copydraw, clockoutline, clocknum, clockpoint,
name1, name2, name3, reciteinorder, recitereverse, knock1, minus7first, minus7second, minus7third, minus7forth, minus7fifth)
VALUES('".$userID."', '".$upload."', '".$checkdate."', '".$matchtest."', '".$copydraw."', '".$clockoutline."', '".$clocknum."',
'".$clockpoint."', '".$name1."', '".$name2."', '".$name3."', '".$reciteinorder."', '".$recitereverse."', '".$knock1."',
'".$minus7first."', '".$minus7second."', '".$minus7third."', '".$minus7forth."', '".$minus7fifth."')");哦,终于可以了。我至今搞不懂为什么用?然后绑定变量这种方式,长度不能超过8,是我电脑的问题吗?
相关文章推荐
- Oracle Sql语句长度限制问题及解决
- php中使用sql语句的引号问题
- PHP程序中的sql语句防止POST数据注入问题
- php使用odbc执行复杂函数遇到的问题,sql语句直接在sqlserver数据库中运行有结果,使用php总是为空
- Oracle Sql语句长度限制问题及解决
- IMP-00032:SQL 语句超过缓冲区长度的问题解决
- php使用mysql-timeout包,解决sql语句查询超时问题
- 关于MySql数据库的sql语句最大长度的问题
- Oracle Sql语句长度限制问题及解决
- sql语句长度问题
- 两张表的SQL语句查询问题
- 研究Oracle中动态SQL语句太长的问题
- 关于SQL语句中的引号问题(VB&VBScript)
- 偶然发现的一个有点奇怪的SQL语句问题
- SQL SERVER中SQL语句的一个问题——得到连续数字数据集的SQL语句
- MySQL 5 中,如何在写存储过程时在SQL语句中嵌入参数
- 在ASP程序中执行SQL语句的安全性问题
- 存储过程中用exec执行sql语句问题
- 解决 JMeter 中 SQL 语句参数化的问题
- Access里的变量使用与Sql语句里变量对应问题