是否可以ALTER TABLE
使用PDO 添加参数.
我试过了,
$q = $dbc -> prepare("ALTER TABLE emblems ADD ? TINYINT(1) UNSIGNED NOT NULL DEFAULT '0', ADD ? DATETIME NOT NULL");
$q -> execute(array($emblemDB, $emblemDB . 'Date'));
Run Code Online (Sandbox Code Playgroud)
但它失败了.
谢谢.
据我所知,更改表查询的本质不是准备好的语句。但是对于大多数表更改查询,您应该调用beginTransaction
和函数。commit()
$dbh->beginTransaction();
/* Change the database schema and data */
$sth = $dbh->exec("DROP TABLE fruit");
$sth = $dbh->exec("UPDATE dessert
SET name = 'hamburger'");
$sth = $dbh->exec("ALTER TABLE `dessert` ADD `field1` VARCHAR(24) NOT NULL");
/* Commit changes */
$dbh->commit();
Run Code Online (Sandbox Code Playgroud)
尽管据我所知,您可以使用准备好的语句并执行。
注意: MySQL 在查询
上隐式调用 commit() 函数,因此不可能进行回滚。CREATE TABLE
DROP TABLE
另外,如果您想将变量传递给更改表查询,请确保清理您的用户输入(如果这是它的来源),并在数据库上创建一个存储过程,然后使用 PDO 调用它并附加您的变量对于输入输出。只是想一下您的问题是如何措辞的。
归档时间: |
|
查看次数: |
6800 次 |
最近记录: |