Intereting Posts
Создание XML-документа в PHP (escape-символы) Как отображать месяцы в полном тексте для полей «Дата» в Symfony2? Каков наилучший способ хранения данных между действиями в zend framework 2? Как «доказательство несанкционированного доступа» является переменной $ _SERVER в php? Ошибка Ubuntu / Apache2 / Forbidden / Permission Как реализовать HTTPS в laravel 5.4 Как перенаправить сайт.com/forum/index.php на сайт.com/forum/ Различия между ORM / DAO / DataMapper / ActiveRecord / TableGateway? Простая математическая программа по математике Сохранить динамически генерируемое текстовое поле из PHP Как я могу отлаживать скрипт PHP CRON, который не работает? Как я могу вернуть объект array / json, содержащий объекты json, через вызов ajax php? Запрос POST с JSON-словарем не возвращает правильное значение с $ _POST в Swift 3? Запуск командной строки PHP через PHP-FPM Удалить дублированные старые строки и сохранить только последнюю версию mysql

Использование ключей и значений массива для создания оператора sql select

Я пытаюсь передать массив, содержащий ключи и значения.

Клавиши – это столбцы, а значения – значения, которые нужно выбрать.

Я пытаюсь написать функцию, где я могу передать массив и использовать ключ и значения в качестве столбца и значений таблицы. например:

$array = array("user"=>"joe", user_id="2"); 

Мне нужно, чтобы инструкция sql создавалась так:

 select * from table where $key = $value; 

Вы можете создать простой SQL-выбор так:

 <?php /** * @param array Column => Value pairs * @return string */ function create_sql_select(array $pair){ $condition = array(); foreach ( $pair as $key => $value){ $condition[] = "{$key} = '{$value}'"; } // Separate by AND delimiter if there are more than 1 pair $condition = join(' AND ', $condition); // Return prepared string: return "SELECT * FROM your_table WHERE {$condition}"; } //Will print: SELECT * FROM your_table WHERE user = 'some' AND age = '10' print create_sql_select(array('user' => 'some', 'age' => 10)); 

Используйте цикл foreach для итерации по массиву и получения ключа и значения. Как это:

 $sql=''; foreach($array as $key=>$value){ $sql = sprintf("select * from table where %s = %s",$key,$value); print $sql; }