我注意到,使用PDO与ALTER TABLE比如下面的例子将不工作的时候,我不能绑定变量的一天,当使用alter table时,是否有必要使用mysql真正的逃脱?
$q = $dbc -> prepare("ALTER TABLE emblems ADD ? TINYINT(1) UNSIGNED NOT NULL DEFAULT '0', ADD ? DATETIME NOT NULL");
$q -> execute(array($emblemDB, $emblemDB . 'Date'));
因此是有必要使用mysql_real_escape字符串,不喜欢它的下方,
// ESCAPE NAME FOR MYSQL INSERTION
$emblemDB = mysql_real_escape_string($emblemDB);
// INSERT EMBLEM DETAILS INTO DATABASE
$q = $dbc -> prepare("ALTER TABLE emblems ADD " . $emblemDB . " TINYINT(1) UNSIGNED NOT NULL DEFAULT '0', ADD " . $emblemDB . "Date DATETIME NOT NULL");
$q -> execute();
或者我不需要在mysql_real_escape_string
补充的吗?作为查询可以做的唯一事情是添加列?
谢谢
是否'$ emblemDB'直接从用户输入来的呢? – alex 2012-04-05 11:16:54
是的,它让我生气真的,因为我不能绑定的参数,我需要做很多这些类型的查询的! – cgwebprojects 2012-04-05 11:17:52
根据用户输入添加列是否最好?我可以想出许多其他方法来实现我认为你正在尝试做的事情。 – alex 2012-04-05 11:20:27