我想傳遞一個包含鍵和值的數組。使用數組鍵和值來創建sql select語句
鍵是列和值是要選擇的值。
我想寫一個函數,我可以傳遞一個數組,並使用鍵和值作爲表的列和值。例如:
$array = array("user"=>"joe", user_id="2");
我需要的sql語句中像這樣創建:
select * from table where $key = $value;
我想傳遞一個包含鍵和值的數組。使用數組鍵和值來創建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;
}
是否使用'PDO','mysqli'或'mysql'執行查詢? –
我正在使用PDO執行。 – Yeak