这让我疯了,我无法弄清楚是什么错误。
以下是mysqli_query中传递的查询:
ALTER TABLE `lc_products` ADD `default_category_id` int(11) NOT NULL AFTER `sold_out_status_id`;
这是PHP抛出的致命错误:
Fatal error: 1064 - 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 'ALTER TABLE `lc_products` ADD `default_category_id` int(11) NOT NULL AFTER `s' at line 1
插入phpMyAdmin时完全相同的查询。
使用XAMP for Windows with PHP 5.4 + MySQL 5.5.4。
有谁知道发生了什么,或者出了什么问题?
$query = "ALTER TABLE `lc_products` ADD `default_category_id` int(11) NOT NULL AFTER `sold_out_status_id`;";
$result = mysqli_query($link, $query) or $this->_error($query, mysqli_errno($link), mysqli_error($link));
答案 0 :(得分:0)
从查询中删除分号。
$query = "ALTER TABLE `lc_products` ADD `default_category_id` int(11)
NOT NULL AFTER `sold_out_status_id`";
答案 1 :(得分:0)
非法字节字符。
我使用var_dump()来调试查询字符串,并发现了一个隐藏的字节顺序标记字符(UTF-8 BOM),它不应该存在。调试表明字符串长度超过预期。