php - 网页(用于搜索项目)在数据库中具有项目的默认结果
问题描述
我正在制作一个“购物网页”只是为了测试 SQL 注入(我试图模拟 Computerphile 的“SQL 注入”视频中显示的网页)。搜索数据不是问题,但默认结果(当我刷新页面时)是我的数据库中的一个项目,而不是什么都没有。你能帮助我吗?当我有两个与该搜索查询匹配的项目时,也只会出现一个项目。
php 上的一切对我来说都是新的。我看过很多 Youtube 教程并尝试制作新的网站代码只是为了检查我学习的教程是否正确。但没有什么对我真正有用。
<?php
$conn = mysqli_connect("localhost", "root", "") or die("Could not
connect");
mysqli_select_db($conn, "search_products") or die("Could not find the
database");
$output = '';
$count = 0;
if (isset($_POST['searchq']))
{
$search_query = $_POST['searchq'];
$query = mysqli_query($conn, "SELECT * FROM products WHERE name LIKE
'%$search_query%'")
or die("Could not search for the query");
$count = mysqli_num_rows($query);
if ($count == 0)
{
$output = 'No Results';
}
else
{
while ($row = mysqli_fetch_array($query)) {
$name = $row['name'];
$price = $row['price'];
$stock = $row['instock'];
$output = '<div> '.$name.' '.$price.' '.$stock.' </div>';
}
}
}
?>
<--这是我的php代码-->
解决方案
由于以下行,您只得到一件物品
$output = '<div> '.$name.' '.$price.' '.$stock.' </div>';
上面的行覆盖了之前的值。因此,将其替换为以下内容:
$output .= '<div> '.$name.' '.$price.' '.$stock.' </div>';
(观察变量名后的点)。
上面的行将连接每个项目。希望这可以帮助。
推荐阅读
- reactjs - jsZip 用于 reactjs 中的动态值
- wordpress - 如何根据wordpress中的当前帖子自动选择一个值?
- python - Can´t excecute view action in Django
- react-router-dom - 如何让这个滑出导航菜单与 react-router 和 framer-motion 一起使用?
- arrays - for循环中有两个if语句?
- javascript - 我如何使用结构扩展我的 jsx 元素
- r - 删除纵向数据中的不连续时间点
- python - Python jupyter 网络服务器在 3-5 秒后停止
- python - 然后在条件下读取 sheet_names 列表
- python - SqlAlchemy 递归查询