先日、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'));
したがって、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
か?クエリで実行できるのは列の追加だけですか?
ありがとう