我需要这个$ LoadId = implode(',',array_filter($ _ POST [“ load”])))的输出;看起来像这样('7209','7210')

时间:2019-07-16 15:44:42

标签: php sql-server

我可以使用此方法从表单获取数据

$LoadId=implode(',',array_filter($_POST["load"]));

然后我想使用“ in”语句将该信息提交给MSSQL查询

where myLoadId in $LoadId

但是$ LoadID看起来像7209,7210,我需要它看起来像 (“ 7209”,“ 7210”)

2 个答案:

答案 0 :(得分:1)

您的LoadId列似乎包含整数值,那么为什么需要在其周围加上单引号'?只需使用-

$LoadId=implode(',',array_filter($_POST["load"]));
$query = "SELECT * FROM your_table WHERE myLoadId IN ($LoadId)";
echo $query;

如果您仍然需要用引号引起来,则可以采用这种方式-

$LoadId = "'".implode("','", array_filter($_POST["load"]))."'";
$query = "SELECT * FROM your_table WHERE myLoadId IN ($LoadId)";
echo $query;

工作演示: https://3v4l.org/2XEjJ

答案 1 :(得分:0)

implode()周围加上简单的引号,并将其粘合方式从,更改为','

$LoadId = "'".implode("','", array_filter($_POST["load"]))."'";