PHP网站搜索和显示项目
我正在创建一个虚拟的在线商店来演示一些真实世界的功能,其中一个是在网站上搜索商品,例如 我已经编写了PHP代码来处理这个场景,但它不能正常工作。它所做的是匹配结果和结果数量,但它不显示它们,我当然不会这样做 一直试图在谷歌上寻找答案,但没有找到相应的解决方案或提示我的问题 下面我将列出我正在使用的代码: PHP代码(search.PHP):PHP网站搜索和显示项目,php,html,mysql,Php,Html,Mysql,我正在创建一个虚拟的在线商店来演示一些真实世界的功能,其中一个是在网站上搜索商品,例如 我已经编写了PHP代码来处理这个场景,但它不能正常工作。它所做的是匹配结果和结果数量,但它不显示它们,我当然不会这样做 一直试图在谷歌上寻找答案,但没有找到相应的解决方案或提示我的问题 下面我将列出我正在使用的代码: PHP代码(search.PHP): 可用 价格 说明 请登录购买此商品 HTML代码(index.php): 当前结果的打印屏幕: 正如你已经注意到的,它还说已经找到了3个结果,这是
可用
价格
说明
请登录购买此商品
HTML代码(index.php):
当前结果的打印屏幕:
正如你已经注意到的,它还说已经找到了3个结果,这是正确的,考虑到我已经搜索过了,这是我产品的一个常见名称,但只找到了两个表,而且它们是空的
网站网址:
最后,我的产品表包括:产品\标识产品\名称产品\质量产品\价格产品\图像产品\设计产品\类型属性/列
任何人都可以发现我在这方面可能出了什么问题….?首先,尝试删除此项
while ($query_row = mysql_fetch_row($query_search))
{
echo $query_row['product_name'];
}
我还注意到您的代码中有一些错误的输入:
- table id=“display”id应该是唯一的。如果您对它进行迭代,但仍然希望它是一个id,请将display-n改为,例如,n是产品的唯一id。(或使用class=“display”代替id)
- 您应该看看sql注入以及如何打败它们
- 我宁愿这样做:
$query = "SELECT product_name FROM products WHERE product_name LIKE %" . $search . "%";
希望这会有帮助。然后使用foreach循环遍历结果,如下所示:
foreach ($search as $key => $result){
echo $result . '<br />';
}
foreach($key=>$result){
回显$result.“
”;
}
mysql\u fetch\u row($query\u search)
返回一个普通数组,而不是一个关联数组,但您正试图使用键访问它的值-$query\u row['product\u name']
。而是使用\u fetch\u数组
好的,谢谢你的回复,但是我将如何实现你建议的更改。为什么mysql\u fetch\u row($query\u search)返回一个普通数组…?@Tomazi你的意思是什么-'为什么mysql\u fetch\u row($query\u search)返回一个普通数组'?这是因为开发者已经决定这样做。阅读关于PDO的PHP手册。
$query = "SELECT product_name FROM products WHERE product_name LIKE %" . $search . "%";
foreach ($search as $key => $result){
echo $result . '<br />';
}