【问题标题】:WHERE CLAUSE 0 result [duplicate]WHERE CLAUSE 0 结果[重复]
【发布时间】: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


【解决方案1】:

代替

<input type="text" class="pure-input-rounded" id="form">
<button type="submit" class="pure-button" name="criteria">Search</button>

这样做

<input type="text" class="pure-input-rounded" name="criteria" id="form">
<button type="submit" class="pure-button" >Search</button>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-09
    • 2020-09-13
    • 2022-12-27
    • 1970-01-01
    • 2021-04-19
    • 1970-01-01
    相关资源
    最近更新 更多