如何用PHP将数组元素处理成MySQL?
我想获取数组的元素,并使用PHP将其放入MySQL查询,如下所示:如何用PHP将数组元素处理成MySQL?,php,mysql,Php,Mysql,我想获取数组的元素,并使用PHP将其放入MySQL查询,如下所示: $ArrayOne = {3, 5, 8, 2}; $sql = SELECT * from myTable WHERE id1='3' and id2='5' and id3='8' and id4='2'; 我是这样做的,但失败了: for ($i=0; $i<count($ArrayOne); $i++) { $element.$i = $ArrayOne[$i]; } $sql = ("SELECT *
$ArrayOne = {3, 5, 8, 2};
$sql = SELECT * from myTable WHERE id1='3' and id2='5' and id3='8' and id4='2';
我是这样做的,但失败了:
for ($i=0; $i<count($ArrayOne); $i++) {
$element.$i = $ArrayOne[$i];
}
$sql = ("SELECT * from myTable WHERE id1=". $element.$i ." and id2=". $element.$i ." and id3=". $element.$i ." and id4=". $element.$i .");
任何机构都能提供解决方案吗?试试这个:
$count = count($ArrayOne);
for($i=0; $i<$count; $i++){
$where_arr[$i] = 'id'.$i.'='.$ArrayOne[$i];
}
$sql = "select * from myTable where ".implode(" and ",$where_arr);
$count=count($ArrayOne);
对于($i=0;$i您的代码中有几个错误
第一个是:
$ArrayOne = {3, 5, 8, 2};
应该是:
$ArrayOne = array(3, 5, 8, 2);
第二个错误,您的$sql
变量没有包含在引号之间,应该是$sql=“您的查询”
如果阵列具有固定长度,则无需使用循环:
$ArrayOne = array(3, 5, 8, 2);
$sql = "SELECT *
from myTable
WHERE id1='$ArrayOne[0]'
and id2='$ArrayOne[1]'
and id3='$ArrayOne[2]'
and id4='$ArrayOne[3]'";
对于可变长度的数组,可以使用@噩梦的答案
作为旁注:
了解
您应该学习PDO,如果您开始学习php,请使用正确的方法
我鼓励您访问php.net并阅读PDO库。如果您打算开始学习如何进行php db查询,最好学习如何安全高效地进行查询。非常感谢。是的,我认为这是一个解决方案。
$ArrayOne = array(3, 5, 8, 2);
$sql = "SELECT *
from myTable
WHERE id1='$ArrayOne[0]'
and id2='$ArrayOne[1]'
and id3='$ArrayOne[2]'
and id4='$ArrayOne[3]'";