Я пытаюсь передать массив, содержащий ключи и значения.
Клавиши – это столбцы, а значения – значения, которые нужно выбрать.
Я пытаюсь написать функцию, где я могу передать массив и использовать ключ и значения в качестве столбца и значений таблицы. например:
$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; }