2

WHERE次のように、SQLリクエストで句を「構築」する関数を実装することを考えていました。

"SELECT * FROM table $where"

$where次のようなサイクルでビルドします。

$arr=array("Id"=>"1","Time"=>"12:00");
function whereBuild($arr){
    foreach ($arr as $key => $val){
      $result.=$key.'="'.$val.'" AND ';
    }
    $result = substr($result, 0, -5); // removes last AND and spaces
    return $result
}
$where = whereBuild($arr);

どう思いますか?意味はありますか?より簡単/より良い方法で達成できますか?

ありがとう!

4

1 に答える 1

5

クエリで常に使用ANDしている場合は、配列を作成して、戻り時に内破することができます。

$arr = array("Id"=>"1","Time"=>"12:00");
function whereBuild($arr){
    $result = array();
    foreach ($arr as $key => $val){
      $result[] = $key.'="'.$val.'"';
    }
    return implode(" AND ", $result);
}
$where = whereBuild($arr);
于 2013-01-24T12:45:41.203 に答える