Как отделить именованный заполнитель PDO от остальной части строки - PullRequest
0 голосов
/ 11 июня 2011

У меня есть подготовленный оператор PDO, который выглядит так:

$STH = $DBH->("CREATE TABLE :prefixbase (table_structure)");

: префикс должен быть заменен на userprefix_Результирующий SQL должен выглядеть так: CREATE TABLE userprefix_base(table structure).Как я могу отделить заполнитель от остальной части строки?

Ответы [ 2 ]

3 голосов
/ 11 июня 2011

Полагаю, вам нужно использовать регулярное выражение или простое find-replace в вашей строке, которое после такой обработки может использоваться объектом PDO как правильная команда SQL.

Вот пример:

$subject = "CREATE TABLE :prefixbase(table_structure)";

$sql = preg_replace('/(:prefix)/', 'userprefix_', $subject);
// or
$sql = str_replace(':prefix', 'userprefix_', $subject);

PS Надеюсь, я правильно понял ваш запрос.

1 голос
/ 11 июня 2011

Как насчет этого:

$placeholder="userprefix_";
$stmt = $pdo->prepare("CREATE TABLE ".$placeholder."base (table_structure)");

Если этот префикс не должен измениться после подготовки оператора.Это не сработает без подготовки другого заявления.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...