我正在尝试创建一个带有mysqli->prepare
的表,但在准备语句时出错。我的发言如下:
$mysqli->prepare("CREATE TABLE ? (id INT AUTO_INCREMENT NOT NULL, PRIMARY KEY (id))");
然后我只是将表名绑定到它
$mysqli->bind_param("s", $some_name);
并执行它。
$mysqli->execute();
我得到的错误是:
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 '? (id INT AUTO_INCREMENT NOT NULL, PRIMARY KE' at line 1
你可以帮我吗?
http://php.net/manual/en/mysqli-stmt.prepare.php
通常,参数仅在数据操作语言 (DML) 语句中合法,在数据定义语言 (DDL) 语句中不合法。
这似乎以前已经回答过了。是否可以在预准备语句中参数化表名?无法绑定表名