公司项目用的原生php封装的mysqlphp类,上线已很久,今天排查一个错误的时候惊现一个奇怪的现象,让人万分惊恐:查询sql:selectcount(1)astotalfromtabnamewhere1=1andconnuid='9E74674'此sql语句交由mysqlquery(sql)查询。connuidvarchar(40)报错:Illegaldouble'9E74674'valuefoundduringparsing。疑问:sql语句已经对查询字符串加了引号处理,为啥还会被自动转换成hex进制了呢?该如何处理呢?
2 回答
收到一只叮咚
TA贡献1821条经验 获得超4个赞
测试没发现会转成小数,showvariableslike'general_log%';setglobalgeneral_log='ON';观察变量general_log_file表示的文件,看实际执行的sql代码.
添加回答
举报
0/150
提交
取消