使用PDO和准备好的语句

时间:2016-11-21 18:19:46

标签: php mysql pdo prepared-statement alter-table

我在PHP和MySQL的项目中使用过PDO。一切正常,但我在执行以下代码时出错:

$sql = "ALTER TABLE tbl_invoices AUTO_INCREMENT = ?";
$q = $db->prepare($sql);
$q->execute(array($invoice_start));  

我想用PDO准备语句来改变一个表。但是我收到了这个错误:

  

致命错误:带有消息'SQLSTATE [42000]的未捕获异常'PDOException':语法错误或访问冲突:1064 SQL语法中有错误;检查与您的MySQL服务器版本对应的手册,以便在'?'附近使用正确的语法在线...

我测试了不同的解决方案,但没有一个解决不了。你有什么想法吗?

1 个答案:

答案 0 :(得分:2)

  

ALTER TABLE tbl_invoices AUTO_INCREMENT = ?

这是你做错的第一名。

从不。永远。触摸。自动增量。

任何时候将其视为数字,都意味着数据库设计存在严重缺陷。

关于改变表格的一般情况 - 是的,大部分时间你都无法绑定。