【发布时间】:2010-03-08 02:43:26
【问题描述】:
是否可以在 MySQL IN() 函数中分配 php 数组?例如,
$numbers = array('8001254656','8886953265','88864357445','80021536245');
$sql = mysql_query("SELECT * FROM `number_table` WHERE `number` IN ($numbers)");
有什么想法吗?
谢谢,
【问题讨论】:
是否可以在 MySQL IN() 函数中分配 php 数组?例如,
$numbers = array('8001254656','8886953265','88864357445','80021536245');
$sql = mysql_query("SELECT * FROM `number_table` WHERE `number` IN ($numbers)");
有什么想法吗?
谢谢,
【问题讨论】:
只要数字仅限于数字,此代码 sn-p 应该可以帮助您。
<?php
// Generate a filtered comma-separated list of the numeric values in numbers.
// Non-numeric values might allow for SQL-injection bugs.
$SQL_numberList = implode(", ", array_filter($numbers, 'is_numeric'));
$sql = mysql_query("SELECT * FROM `number_table` WHERE `number` IN ($SQL_numberList)");
对于列表中的字符串参数,您需要做一些不同的事情。
【讨论】:
没有。请先使用implode()。
【讨论】: