Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/284.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何在数组处于状态时查询到mysql_Php_Mysql - Fatal编程技术网

Php 如何在数组处于状态时查询到mysql

Php 如何在数组处于状态时查询到mysql,php,mysql,Php,Mysql,数组中有行的名称 $arr = array(fir, seco, third); 如何查询mysql,如: $query = "SELECT * FROM $table where fir=0 and seco=0 and third=0"; 但是使用数组 及 但是使用数组。对于搜索,您可以在下面的查询中激发- $str = implode(",", $arr); $query = "SELECT * FROM $table where 0 IN ($str)"; 但对于更新,您必须使用您

数组中有行的名称

$arr = array(fir, seco, third);
如何查询mysql,如:

$query = "SELECT * FROM $table where fir=0 and seco=0 and third=0";
但是使用数组


但是使用数组。

对于搜索,您可以在下面的查询中激发-

$str = implode(",", $arr);
$query = "SELECT * FROM $table where 0 IN ($str)";

但对于更新,您必须使用您编写的查询。

对于搜索,您可以在下面的查询中使用-

$str = implode(",", $arr);
$query = "SELECT * FROM $table where 0 IN ($str)";
但对于更新,您必须使用查询您所写的内容。

简单

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

for(int i = 0;i<arr.lenght;i++)
{
$query = $query + " and "  + arr[i] + "=" + $ma;
}
$arr=数组(fir、seco、third);
对于(inti=0;ieasy

$arr=数组(fir、seco、third);

对于(inti=0;i这就是我要做的

$fir = $arr[0];
$seco = $arr[1];
$third = $arr[2];
$query = "UPDATE $table SET $fir = '$ma', $seco = '$ma', $third = '$ma'";

这就是我要做的

$fir = $arr[0];
$seco = $arr[1];
$third = $arr[2];
$query = "UPDATE $table SET $fir = '$ma', $seco = '$ma', $third = '$ma'";

不确定是否有更好的答案,但可以使用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;
?>

不过,我认为更新查询仍然需要for循环。

不确定是否有更好的答案,但您可以使用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;
?>

我想,更新查询仍然需要一个for循环。

这是PHP。您使用了PHP和Javascript的混合。这不容易:)这是PHP。您使用了PHP和Javascript的混合。这不容易:)您当前的查询有什么问题吗?您说的是“行名”,但您的查询将它们用作列名。是哪一个?当前查询有什么问题?您说的是“行的名称”,但您的查询使用它们作为列的名称。是哪一行?我想你的意思是
内爆
,IN子句将选择三列中任何一列中有0的任何行,而不仅仅是所有0的行。如果只使用
内爆
,这可能是一个可接受的答案。但是,这将是不正确的。OP正在查找每列等于0的行。您可以将内爆字符串用于以下SQL语句:
SELECT*FROM$table,其中($str)=(0,0,0)
。请看,我认为您的意思是
内爆
,IN子句将选择三列中任何一列中包含0的任何行,而不仅仅是包含所有0的行。如果仅使用
内爆
,这可能是一个可接受的答案。但仍然不正确。OP正在查找每列等于0的行。您可以将内爆字符串用于以下SQL语句:
SELECT*FROM$table,其中($str)=(0,0,0)
。看见