我试图制作一个搜索系统,该系统使用LIKE运算符根据用户键入的内容搜索结果。我正在使用它与字符串。它没有显示任何结果。
代码:
SELECT * FROM table WHERE name LIKE ' . $input . ';
input是用户输入的PHP变量。
编辑:不用担心SQL注入,它们都处于脱机状态。
答案 0 :(得分:1)
为正确使用like,应使用wildchar例如:
SELECT * FROM table WHERE name LIKE concat('%', ? ,'%') ;
并且您不应该在SQL代码中使用var ..您有sqlinjectiomn的风险
为避免这种情况,您应该查看数据库驱动程序以准备语句和绑定参数
例如PDO
$st = $conn->prepare("SELECT * FROM table WHERE name LIKE concat('%', ? ,'%')");
$st->bindParam(1, $input, PDO::PARAM_STR, 255);
$st->execute();
答案 1 :(得分:0)
尝试一下
$string = "input";
$sql = "select * from table where name like '%$string%'"
答案 2 :(得分:0)
创建变量并存储要搜索的值
$ where =“名称,例如'%$ string%'”;
并放在表名后面
$ sql =“从表名$ where中选择*”;