php将选择列表中的多个值传递给sql

时间:2012-08-18 23:31:15

标签: php mysql sql

我有一个表单有选择列表,有多个选择选项,我需要的是将多个值传递给php中的sql语句。

选择列表的示例

<select name="site_name" size="10" multiple="multiple">
              <option selected="selected">Select ...</option>
              <option>UV</option>
              <option>US</option>
              <option>PI</option>
</select>

这应该将UV或US或者PI传递给sql语句示例

$sql = "SELECT Web_Page_Name FROM sites where Web_Page_Name =" $site_name[] ;

前一个是不正确的,我正在寻求你的帮助,知道正确的sql语句来传递多个值。

2 个答案:

答案 0 :(得分:2)

您可以使用IN关键字构建sql语句:

SELECT Web_Page_Name FROM sites where Web_Page_Name IN ('UV', 'US', 'PI');

作为旁注,请注意SQL injection vulnerabilities

答案 1 :(得分:0)

我已经实现了如下

1-我已将选择列表代码更改为以下内容:

<select name="site_name[]" size="10" multiple="multiple">
              <option selected="selected">Select ...</option>
              <option>UV</option>
              <option>US</option>
              <option>PI</option>
</select>
第二页中的

2- sql语句如下

$sql = "SELECT * FROM sites WHERE Web_Page_Name IN ('"
. implode("', '", $_POST['site_name'])
. "')";

这对我现在很好用