You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '\xE7'
微wx笑 2023-01-06【运维日志】 2 0关键字: php MySQL
php mysql 执行 sql 语句,遇到语法错误 \xE7,错误的 sql 语句在网页上打印出来,复制到 phpmyadmin 中去执行又是正常的,这就很奇怪了。
php mysql 执行 sql 语句,遇到语法错误 \xE7,错误的 sql 语句在网页上打印出来,复制到 phpmyadmin 中去执行又是正常的,这就很奇怪了。
完整错误:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'INSERT INTO `stock_4`(`code`, `cnname`, `stname`, `flag`) VALUES ('600004','\xE7' at line 1 INSERT INTO `stock_4`(`code`, `cnname`, `stname`, `flag`) VALUES ('600000','浦发银行','',0) ON DUPLICATE KEY UPDATE `cnname`='浦发银行'; INSERT INTO `stock_4`(`code`, `cnname`, `stname`, `flag`) VALUES ('600004','白云机场','',0) ON DUPLICATE KEY UPDATE `cnname`='白云机场'; INSERT INTO `stock_4`(`code`, `cnname`, `stname`, `flag`) VALUES ('600006','东风汽车','',0) ON DUPLICATE KEY UPDATE `cnname`='东风汽车'; INSERT INTO `stock_4`(`code`, `cnname`, `stname`, `flag`) VALUES ('600007','中国国贸','',0) ON DUPLICATE KEY UPDATE `cnname`='中国国贸'; INSERT INTO `stock_4`(`code`, `cnname`, `stname`, `flag`) VALUES ('600008','首创环保','',0) ON DUPLICATE KEY UPDATE `cnname`='首创环保'; INSERT INTO `stock_4`(`code`, `cnname`, `stname`, `flag`) VALUES ('600009','上海机场','',0) ON DUPLICATE KEY UPDATE `cnname`='上海机场'; INSERT INTO `stock_4`(`code`, `cnname`, `stname`, `flag`) VALUES ('600010','包钢股份','',0) ON DUPLICATE KEY UPDATE `cnname`='包钢股份'; INSERT INTO `stock_4`(`code`, `cnname`, `stname`, `flag`) VALUES ('600011','华能国际','',0) ON DUPLICATE KEY UPDATE `cnname`='华能国际'; INSERT INTO `stock_4`(`code`, `cnname`, `stname`, `flag`) VALUES ('600012','皖通高速','',0) ON DUPLICATE KEY UPDATE `cnname`='皖通高速'; INSERT INTO `stock_4`(`code`, `cnname`, `stname`, `flag`) VALUES ('600015','华夏银行','',0) ON DUPLICATE KEY UPDATE `cnname`='华夏银行'; INSERT INTO `stock_4`(`code`, `cnname`, `stname`, `flag`) VALUES ('600016','民生银行','',0) ON DUPLICATE KEY UPDATE `cnname`='民生银行';
问题在哪?
开始以为是编码的问题,但是经过编码转换同样是有错误;其实检测到的编码和目标编码是一致的!
经过多番尝试,终于意识到一个问题
我是一次性执行了多条语句,php mysql 想一次执行多条语句的话,是有专门的函数的;
需要使用 mysqli_multi_query($link, $sql);
但是使用这个函数又遇到一个新问题:Warning: mysqli_multi_query() expects parameter 1 to be mysqli
参考:
php mysql开启多条语句执行,mysql怎么一次执行多条SQL语句?
本文由 微wx笑 创作,采用 署名-非商业性使用-相同方式共享 4.0 许可协议,转载请附上原文出处链接及本声明。
原文链接:https://www.ivu4e.cn/blog/service/2023-01-06/1637.html