A包含数组中的行名称
$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'";
但是使用数组。
答案 0 :(得分:1)
对于搜索,您可以触发查询 -
$str = implode(",", $arr);
$query = "SELECT * FROM $table where 0 IN ($str)";
但是对于更新,你必须使用查询你所写的内容。
答案 1 :(得分:0)
容易,
$arr = array(fir, seco, third);
for(int i = 0;i<arr.lenght;i++)
{
$query = $query + " and " + arr[i] + "=" + $ma;
}
答案 2 :(得分:0)
这就是我要做的......
$fir = $arr[0];
$seco = $arr[1];
$third = $arr[2];
$query = "UPDATE $table SET $fir = '$ma', $seco = '$ma', $third = '$ma'";
答案 3 :(得分: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
。您可以对UPDATE
SQL语句执行相同的操作。
另外,你可以像在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循环。