1

我有一个带有多个选择选项的选择列表,我需要将多个值传递给 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 or 和 US or 和 PI 传递给 sql 语句示例

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

前一个是不正确的,我正在寻求您的帮助以了解正确的 sql 语句来传递多个值。

4

2 回答 2

2

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

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

作为旁注,请注意SQL 注入漏洞

于 2012-08-18T23:33:13.257 回答
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'])
. "')";

这对我来说很好用

于 2012-08-19T12:58:17.557 回答