使用php在mysql语句中传递一个数组

时间:2015-05-25 22:17:44

标签: php mysql arrays

我需要存档这样的内容:

$array['0']="ID='1'";
$array['1']="ID='2'";

mysql_query("SELECT * FROM users WHERE {$array}");

这是一个特殊情况,这只是一个例子;我并不担心这里的安全性,因为最终用户没有传递任何价值。数组值是自动生成的,可以是任何大小,因此我无法手动传递它们。

1 个答案:

答案 0 :(得分:2)

仅将值存储在数组中。

$array = ('aaa', 'bbb', 'ccc');

mysql_query("SELECT * FROM users WHERE ID IN ('".implode("','", $array)."')");

这会将阵列粘在一起并输出一些像:

mysql_query("SELECT * FROM users WHERE ID IN('aaa','bbb','ccc')");
如果你只使用整数,你可以省略'。但是任何与字符串相关的东西都需要它们在SQL语句中,因此最好从getgo中使用它们。

如果你检查了其他的东西,你可以用ANDOR进行调整,具体取决于你想要检查它们的方式,并可能将它们放在不同的数组中

mysql_query("SELECT * FROM users WHERE ID IN ('".implode("','", $array_1 )."') OR name IN ('".implode("','", $array_2 )."')");