alter table的MySQL 1064错误

时间:2015-03-20 19:31:57

标签: php mysql xampp

这让我疯了,我无法弄清楚是什么错误。

以下是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));

2 个答案:

答案 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),它不应该存在。调试表明字符串长度超过预期。