【发布时间】:2016-05-17 10:08:59
【问题描述】:
所以我有了一个网站,在网站中我有一个输入字段,我可以在其中搜索一个人,然后获取有关此人的信息。我搜索的人已经在数据库中,所以搜索栏就像一个地方,您可以在其中从数据库中检索特定人的数据。但是,当我在字段中输入人名时:
<input type="text" class="pure-input-rounded" id="form">
<button type="submit" class="pure-button" name="criteria">Search</button>
我得到 0 结果,MySQL SELECT 代码是:
$criteria = $_POST['criteria'];
$sql = "SELECT Alder,Alias FROM motspiller WHERE Name = '".$criteria."'";
(名称为列名,拼写正确)
我在搜索栏中输入的人名 100% 等于数据库中人名。
但是,当我将条件更改为数据库中的特定名称时,结果将显示在网站上。
所以我想知道问题是什么?为什么我不能在输入字段中输入名称并获取信息,而是我必须进入我的php文档并输入我想要的名称......
【问题讨论】:
-
请在 $criteria 中添加类似 mysqli_escape_string 的内容以避免 SQL 注入漏洞
-
你有没有试过改成小写,比如 $criteria = strtolower($criteria);然后
WHERE ((LOWER(name) LIKE '%$criteria%')?
标签: php mysql variables select input