我正在尝试在我的localhost上的本地网站上进行SQL注入攻击。我正在尝试使用通配符'; 从产品表中获取所有产品,但查询似乎存在一些问题。它给了我这个错误
'警告:mysqli_fetch_assoc()期望参数1为 mysqli_result,布尔值在C:\ wamp64 \ www \ tplus \ products.php中给出 第151行'
这是我的PHP代码
<?php
//$search_value = mysqli_real_escape_string($conn,$_GET['search']);
$search_value = $_GET['search'];
$result = mysqli_query($conn,"SELECT * FROM products where p_name LIKE '%".$search_value."%'");
while ($row = mysqli_fetch_assoc($result))
{
echo "<tr>";
echo "<td>";
echo $row['p_name'];
echo "</td>";
echo "<td>";
echo $row['p_price'];
echo "</td>";
echo "<td>";
echo $row['p_brand'];
echo "</td>";
echo "<td>";
echo $row['p_info'];
echo "</td>";
echo "</tr>";
}
?>
答案 0 :(得分:0)
Try this
if (!$result) {
die(echo 'MySQL Error: ' . mysqli_error())
}
答案 1 :(得分:0)
您需要检查是否
"SELECT * FROM products where p_name LIKE '%".$search_value."%'"
是一个有效的SQL语句。
指示不是 - 因此是错误。
也许输出该字符串并检查SQL语句的错误位置。