用数组中的谓词进行PHP中的SQL查询

我想使用数组中的参数在PHP中准备SQL查询。它应该是准备好的声明。

假设这是我的带有参数的数组

$params = array("arg1" => 1, "arg2" => 0, "arg3" => 1)

我希望我的查询看起来像

SELECT * FROM table WHERE arg1 = 1 AND arg2 = 0 AND arg3 = 1


jeck猫
浏览 142回答 2
2回答

慕虎7371278

$qry= 'SELECT * FROM table WHERE ';foreach($params as $key => $value){    $qry .= $key . '=' . $value . ' AND ';}$qry = substr($qry, 0, -5); // remove last ' AND '这应该足以让您入门。根据您正在运行的MySQL / SQL / PHP版本,可能需要在变量周围加上引号。此解决方案不解决SQL注入或准备好的语句。您可以添加?或,:variable具体取决于您构造预准备语句的方式。其他选项...您可以将数组内插为'AND'分隔的字符串。请参阅堆栈溢出问题如何在php / mysql中的MySQL查询中使用数组变量
打开App,查看更多内容
随时随地看视频慕课网APP