使用PHP中的数组数据集在mysql的多列中查找匹配项
我有一个PHP数组:使用PHP中的数组数据集在mysql的多列中查找匹配项,php,mysql,arrays,pattern-matching,Php,Mysql,Arrays,Pattern Matching,我有一个PHP数组:数组(关键字1、blah0、blah1、blah2)和一个SQL查询 在查询中,我想找出数组中的一个数据是否存在于所选的少数列中。(columnA | columnB | columnC),如果为true,则获取该行。我想这就是您想要的。我不知道是否要检查数组中每一列的每一个值 SELECT * FROM tableName WHERE columnA = $phpArray[0] OR columnA = $phpArray[0] OR columnB = $phpArra
数组(关键字1、blah0、blah1、blah2)
和一个SQL查询
在查询中,我想找出数组中的一个数据是否存在于所选的少数列中。
(columnA | columnB | columnC)
,如果为true,则获取该行。我想这就是您想要的。我不知道是否要检查数组中每一列的每一个值
SELECT * FROM tableName
WHERE columnA = $phpArray[0] OR
columnA = $phpArray[0] OR
columnB = $phpArray[0] OR
columnC = $phpArray[0] OR
columnA = $phpArray[1] OR
columnB = $phpArray[1] OR
columnC = $phpArray[1] OR
columnA = $phpArray[2] OR
columnB = $phpArray[2] OR
columnC = $phpArray[2] OR
...
columnC = $phpArray[n];
可以使用PHP在循环中创建此语句
$sql = "SELECT * FROM tableName WHERE ";
for($i=0;$i<count(phpArray)-1;$i++){
$sql .= "columnA = "+"'"+$phpArray[$i]+"'"+ OR "
$sql .= "columnB = +"'"+$phpArray[$i]+"'"+ OR "
$sql .= "columnC = +"'"+$phpArray[$i]+"'"+ OR "
}
$sql .= "columnA = +"'"+$phpArray[$i]+"'"+ OR "
$sql .= "columnB = +"'"+$phpArray[$i]+"'"+ OR "
$sql .= "columnC = +"'"+$phpArray[$i]+"'"+;"
*send sql query
$sql=“从tableName WHERE选择*”;
对于($i=0;$i),您需要这样的查询:
$instring = implode("','", $array);
$sql = "SELECT `xy` FROM `z` WHERE (`columnA` IN ('".$instring."')
OR `columnB` IN ('".$instring."')
OR `columnC` IN ('".$instring."'))";
+1因为这会起作用,但是32bitfloat在
中使用SQL的的答案更具可读性。谢谢,看起来我还是犯了几个错误。我不知道
语句中的,所以从中我学到了一些东西。:)