我无法在pdo中执行我的sql,但是它没有pdo就可以工作。
try{
$Attr = 'abc';
$stmt = $dbh->prepare("ALTER TABLE num ADD COLUMN ? VARCHAR(30)");
$stmt->bindValue(1,$Attr);
$stmt->execute();
print_r("<pre>");
print_r( $stmt->errorInfo());
}
catch(exception $e){
print($e->getMessage);
}
错误信息是:
您的SQL语法有错误;查看与您的MySQL服务器版本对应的手册,以便在#&quot;&#39; abc&#39;附近使用正确的语法。 VARCHAR(30)&#39;在第1行
但是当我在我的mysql中执行我的sql语句时,它是对的。
ALTER TABLE num ADD COLUMN abc VARCHAR(30); -- right
然后我执行这个sql:
ALTER TABLE num ADD COLUMN 'abc' VARCHAR(30); -- wrong
错误信息是:
您的SQL语法有错误;查看与您的MySQL服务器版本对应的手册,以便在#&quot;&#39; abc&#39;附近使用正确的语法。 VARCHAR(30)&#39;在第1行
与第一个信息相同。
那么,为什么以及如何解决?