【发布时间】:2016-10-08 22:51:50
【问题描述】:
我正在尝试使用 html 表单从数据库中搜索多个卷号,例如单个字段中的 2345,7654,8976 现在我正在尝试 php
$query = "SELECT `firstname`, `lastname`, `roll`, `board`, `city` FROM `result` WHERE 1=1";
if(isset($_POST['mroll']))
{
$mroll=$_POST['mroll'];
$query.="and roll IN ('$mroll')";
}
但是 $_POST['mroll'] 会是这样 => 2345,7654,8976 对于 sql 我必须像这样引用它们 => '2345','7654','8976' 在查询中使用它之前 请帮忙。
【问题讨论】:
-
整数不需要加引号。不过,您对 SQL 注入持开放态度。我不建议这样做,但
and roll IN ($mroll)会起作用。 -
列卷是哪种数据类型?
-
explode(',', $_POST['mroll']) -
用逗号内爆并使用它无需添加引号
-
甚至不需要 implode/explode/任何 PHP 函数,如果它真的是
2345,7654,8976。只需去掉引号,它就可以工作(但打开数据库进行注入)。