SQL 查询在它应该返回的时候没有返回任何结果
Posted
技术标签:
【中文标题】SQL 查询在它应该返回的时候没有返回任何结果【英文标题】:SQL query not returning any results when it should 【发布时间】:2013-10-11 01:34:37 【问题描述】:我的 php 脚本中有一个 sql 查询,其中包含这一行:
WHERE beerStyle = \"$styleName\" AND rating > 0
正在查找的样式名称是:
Fresh "Wet" Hop Ale
上面存储的内容已经写在我的数据库中。我的问题是我认为当它在数据库中查找时引号会以某种方式混淆,所以它认为现在有具有该名称的样式。
【问题讨论】:
Double quotes are the wrong quotes to use here. 这并不能回答您的问题,但请注意:此代码存在 sql 注入缺陷。 使用 mysql_real_escape_string($styleName) 【参考方案1】:利用mysqli_real_escape_string()
$styleName=mysqli_real_escape_string($styleName);
你的查询是这样的。
WHERE beerStyle = $styleName AND rating > 0
【讨论】:
【参考方案2】:也许你可以试试
$query = "SELECT * FROM beers WHERE beerStyle = '" .$styleName. "'";
【讨论】:
以上是关于SQL 查询在它应该返回的时候没有返回任何结果的主要内容,如果未能解决你的问题,请参考以下文章