我正在用php制作Wordpress自定义页面。当我执行查询时,它给出如下错误:
你的SQL语法有错误;检查与你的MySQL服务器版本对应的手册,以便在第1行"brand VARCHAR(70),serialCode VARCHAR(70),QRCodeAddress VARCHAR(70),email VAR"附近使用正确的语法
如你所见,你可以看到奇怪的字符,通常发生在编码问题。但我想知道的是,如果我回显我的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中执行,它甚至可以很好地工作。
我的程序如下:
- 我正在读取
UTF-8
csv
文件以读取表列信息 - 根据
csv
文件信息,编写如下SQL语句,保存在变量$sqlStr
中 - 当我回显
$sqlStr
时,它没有任何语法错误,甚至可以在MySql shell中工作。 - 但是当
$wpdb->query($sqlStr)
时,它给出如上的错误。 - 我也试过使用
mysqli_query($conn, $sqlStr)
。并给出相同的错误。
当然连接是本地主机,只要web服务器和mysql服务器在同一台计算机上。
MySql server collation : utf8_general_ci
mysql server charset : latin_swedish_ci
我已经尝试解决这个问题超过48小时,完全卡住了?
您的CSV文件很可能包含"不可打印"字符,这些字符使它在编辑器中看起来很正常。
尝试删除不合适的行并重新创建。