PHP查询错误
我使用 LIKE 进行搜索,我在 phpMyAdmin 中尝试并返回结果,但是当我在 php 中使用它时,它返回空结果。
$search = "ip";
$start = 0;
$query = "SELECT * FROM product WHERE product_name LIKE '%$search%' LIMIT $start,30";
$result = mysql_query($query);
if(empty($result))
$nrows = 0;
else
$nrows = mysql_num_rows($result);
当我使用 phpMyAdmin 运行此查询时,它将返回结果,但当我在 php 中使用它时,它返回空。
更新:
抱歉,大家,
我刚刚发现问题是我也没有连接数据库。不管怎样,谢谢你的帮助。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(6)
试试这个
Try This
如果代码的唯一目的是获取具有搜索名称的产品数量,请使用
SELECT COUNT(*)
而不是执行mysql_num_rows()
您的所有数据。它将减少您的查询时间和(不必要的)获取的数据量。And if the sole purpose of your code is to get the number of products with the searched-for name, use
SELECT COUNT(*)
instead of doing amysql_num_rows()
on all your data. It will decrease your querytime and the amount of data that is (unnecessarily) fetched.我不确定为什么这不起作用,因为查询对我来说似乎是正确的。我想建议你这样写查询
请注意,
SQL;
后面不应有任何空格或任何字符I am not sure why this is not working, as the query seems to be correct to me. I would like to suggest you writing query this way
please note that there should not be any space or any character after
SQL;
您可以直接使用 mysql_num_rows()
但这里是正确的代码
$query = "SELECT * FROM Product WHERE Product_name LIKE '%".$search."%' LIMIT $start,30";
you can use directly mysql_num_rows()
but here is right code
$query = "SELECT * FROM product WHERE product_name LIKE '%".$search."%' LIMIT $start,30";