PHP и MySQL -Замена N разделителей с N значениями из массива - PullRequest
0 голосов
/ 10 марта 2011

Я читал книгу PHP по шаблонам проектирования и хотел бы включить один из их шаблонов базы данных в мой код. В частности, метод класса возвращает массив с двумя элементами внутри него.

Первый элемент строки выглядит следующим образом.

"SELECT col1, col2, col3 FROM table WHERE col1 = ?, col2= ?"

Второй элемент - это массив, который содержит массив строковых значений (в данном случае 1 и 2)

Я ищу наиболее эффективный способ (он будет использоваться довольно часто для создания экземпляров объектов) для объединения этих двух массивов в "?" разделитель так, что конечным результатом является строка, которая = "ВЫБЕРИТЕ col1, col2, col3 ИЗ таблицы ГДЕ col1 = 1, col2 = 2"

Я видел такие вещи, как preg_replace, но он опирается на фиксированный массив N шаблонов. Я ищу что-то более динамичное. Я буду использовать вывод кода в операторе выбора PDO. Обратите внимание, что выше приведен конкретный пример, но мне нужно, чтобы он работал на произвольное количество? и входы

Вот код

//This function returns an array of two elements, $string_ar[0] is the string, $string_ar[1] are the values
$string_ar = $selectionFactory->doNewSelection($friend_idobj,'has_friend');

Спасибо всем!

1 Ответ

1 голос
/ 10 марта 2011

Прежде всего я хотел бы проинформировать вас о расширении PDO PHP , которое поддерживает подготовленные выражения и даже эмулирует их для механизмов баз данных, которые их не поддерживают.

Во-вторых, если вы хотите справиться с этим без подготовленных утверждений, вам следует взглянуть на strtok , или даже explode может сделать это, если у вас нет очень сложногологика.

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