1

キーと値を含む配列を渡そうとしています。

キーは列で、値は選択する値です。

配列を渡し、キーと値をテーブルの列と値として使用できる関数を作成しようとしています。例えば:

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

次のようにSQLステートメントを作成する必要があります。

select * from table where $key = $value;
4

2 に答える 2

4

次のように単純な SQL Select を作成できます。

<?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));
于 2012-06-24T22:20:51.067 に答える
0

ループを使用foreachして配列を反復処理し、キーと値を取得します。このような:

$sql='';
foreach($array as $key=>$value){
    $sql = sprintf("select * from table where %s = %s",$key,$value);
    print $sql;
}
于 2012-06-24T22:18:52.380 に答える