有时候试图弄清楚正确的问题是最困难的部分。
我想运行一个查询,检查数据列中可能出现的几种可能性
这段代码就像我想要的那样:
$states = array('CA','CO','TX');
$states_str = implode("','",$states);
$query="SELECT * FROM table1 WHERE state IN ('$states_str')";
但问题是数组变量是硬连线的
我希望用户选择他们想要的状态(在这种情况下),将它们收集到变量中,然后将该变量放在array()中以获得相同的结果
即
$var = ('CA','CO','TX')
$states = array($var);
$states_str = implode("','",$states);
$query="SELECT * FROM table1 WHERE state IN ('$states_str')";
但由于某些原因即使字符串完全相同也不会起作用。
答案 0 :(得分:0)
$var
已经是一个数组,所以将它包裹在另一个array()
周围会使它成为一个多维数组,例如
Array(
[0] => Array(
[0] => 'CA',
[1] => 'CO',
[2] => 'TX'
)
IOW不要将值包装在数组中,因为它已经是一个数组。或者,如果按照您的方式保留它,请使用implode("','",$states[0]);