0

有时试图找出正确的问题是最困难的部分。

我想运行一个查询来检查数据列中可能出现的几种可能性

这段代码就像我想要的那样工作:

$states = array('CA','CO','TX');
$states_str = implode("','",$states);

$query="SELECT * FROM table1 WHERE state IN ('$states_str')";

但问题是数组变量是硬连线的

我希望用户选择他们想要的状态(在这种情况下),将它们收集在一个变量中,然后将该变量放在数组()中以获得相同的结果

IE

$var = ('CA','CO','TX')
$states = array($var);
$states_str = implode("','",$states);

$query="SELECT * FROM table1 WHERE state IN ('$states_str')";

但由于某种原因,即使字符串完全相同,它也不起作用。

4

1 回答 1

0

$var已经是一个数组,因此将其包裹在另一个数组中array()使其成为一个多维数组,例如

Array(
    [0] => Array(
      [0] => 'CA',
      [1] => 'CO',
      [2] => 'TX'
    )

IOW 不要将值包装在数组中,因为它已经是一个数组。否则,如果您保持原样,请使用implode("','",$states[0]);

于 2013-11-11T00:17:59.087 回答