我希望使用数组的内容
$arr =array(24,28,30,34, 40);
并将这些传递到MySQL select语句的where子句中,我的所有研究都通过使用IN
一次性传入所有数组值来完成此任务。
我需要一次传入一个数组元素,然后在用下一个数组元素更新select语句时一次一个地回显SQL语句的结果。
编程和PHP的新手,所以只需要一个小例子让我开始......
感谢Zad突出了真正的问题
我需要将每个数组值分别传递给SQL语句,因为这些需要在带有BETWEEN的Where子句中使用,例如。在$ array1和$ array2之间的年龄,以确定年龄范围内的计数
感谢所有输入
答案 0 :(得分:1)
您可以使用implode函数构建包含列表的字符串;
$arr =array(24,28,30,34, 40);
$query = 'SELECT * FROM mytable WHERE id IN (' .implode($arr, ', '). ' )';
echo $query;`
答案 1 :(得分:1)
尝试逃避争论
foreach($arr as $array_element) {
$query = 'SELECT * FROM table WHERE field = \''.mysql_real_escape_string($array_element).'\'';
//your statement
}
答案 2 :(得分:0)
您可以使用foreach
功能:
// make connection to mysql server
foreach ( $arr as $element ) {
$statement = "SELECT whatever FROM wherever WHERE something = $element"; // maybe a little validation here wouldn't hurt either
// execute statement
// process results
} // end of foreach
// close connection
答案 3 :(得分:0)
$arr =array(24,28,30,34, 40);
$a = 'SELECT * FROM foo WHERE bar IN('.implode(',',$arr).')';
编辑:我承认,我没有完全阅读这个问题,标题是误导性的 - 考虑改变它。
我需要一次传入一个数组元素然后回显 SQL语句的结果一次一个作为select语句 用下一个数组元素更新。
你能解释一下这个场景有多好吗?