1

配列内の行の名前を持つ

$arr = array(fir, seco, third);

次のようにmysqlにクエリを実行するにはどうすればよいですか:

$query = "SELECT * FROM $table where fir=0 and seco=0 and third=0";

しかし、配列を使用しています。

$query = "update $table SET fir='$ma', seco='$ma', third='$ma'";

しかし、配列を使用しています。

4

4 に答える 4

0

これは私がすることです...

$fir = $arr[0];
$seco = $arr[1];
$third = $arr[2];
$query = "UPDATE $table SET $fir = '$ma', $seco = '$ma', $third = '$ma'";
于 2012-12-24T15:43:24.157 に答える
0

より最適な答えがあるかどうかはわかりませんが、for ループを使用して SQL ステートメントを作成できます。

<?php
$arr = array(fir, seco, third);

$query = "SELECT * FROM $table where ";
$count = count($arr);
for($i=0;$i<$count;$i++){
  $query .= ($i==$count-1) ? "$arr[$i]=0" : "$arr[$i]=0 and ";
}

echo $query;
?>

反響しSELECT * FROM $table where fir=0 and seco=0 and third=0ます。UPDATESQL ステートメント でも同じことができます。

アップデート

また、Suresh Kamrushi の回答のように配列を内破し、次のコードを使用することもできます。

<?php
    $arr = array(fir, seco, third);
    $str = implode(',',$arr);
    $query_one = "SELECT * FROM $table WHERE ($str) = (0,0,0)";
    echo $query_one;
?>

ただし、UPDATE クエリには for ループが必要だと思います。

于 2012-12-24T15:47:23.017 に答える