在查询执行期间,MySQL语句会损坏

时间:2015-05-20 03:14:12

标签: php mysql sql wordpress

我用php制作Wordpress自定义页面。当我执行查询时,它会给出以下错误:

  

您的SQL语法有错误;查看与您的MySQL服务器版本相对应的手册,以便在'��brandVARCHAR(70),serialCode VARCHAR(70),QRCodeAddress VARCHAR(70),电子邮件VAR'附近使用正确的语法。在第1行

正如您所看到的,您可以看到通常从编码问题中发生的奇怪的字符。但我想知道的是,如果我回应我的sql语句,它没有任何问题。瞧瞧:

CREATE TABLE SerialTable(id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,brand 
VARCHAR(70),serialCode VARCHAR(70),QRCodeAddress VARCHAR(70),email VARCHAR
(70),sex VARCHAR(70),age VARCHAR(70),purchasePath VARCHAR(70),expiryDate 
VARCHAR(70),registeredDate VARCHAR(70),modelName VARCHAR(70),colorCode VARCHAR
(70))

如果我在MySql shell中执行,它甚至可以正常工作。

我的程序是这样的:

  1. 我正在阅读UTF-8 csv文件以阅读表格列信息
  2. 根据csv文件信息,制作如上所述的SQL语句并将其保存在变量$sqlStr
  3. 当我回显$sqlStr时,它没有任何语法错误,甚至可以在MySql shell中运行。
  4. 但是当$wpdb->query($sqlStr)时,它会给出如上所述的错误。
  5. 我也尝试使用mysqli_query($conn, $sqlStr)。并且它给出了同样的错误。
  6. MySql服务器信息:

    当然,只要web服务器和mysql服务器在同一台计算机上,连接就是localhost。

    MySql server collation : utf8_general_ci
    mysql server charset : latin_swedish_ci
    

    我一直试图解决这个问题超过48小时而且完全卡住了?

1 个答案:

答案 0 :(得分:0)

您的CSV文件很可能包含“不可打印”的字符,使其在编辑器中看起来很正常。

尝试删除有问题的一行或多行并重新创建。