gpt4 book ai didi

php - mysqli_conn->query... 放入 for 循环中时没有给出任何结果

转载 作者:行者123 更新时间:2023-11-29 22:09:37 24 4
gpt4 key购买 nike

我无法从“$mysqli_conn->query”语句中获取结果,该语句包含在 for 循环中,如代码所示。我使用for循环的原因很简单,可以从代码本身来判断。

$name=$_SESSION["names"];
$size=sizeof($name);
for($i=0; $i<$size; $i++) {
//echo $name[$i]; //for testing
$bname = $name[$i];
$results = $mysqli_conn->query("SELECT product_name, product_code FROM products_list WHERE product_name='$bname'");
if ($row = $results->fetch_assoc()) {
echo $row["product_name"]."<br>";
}
else echo "I am Going Wrong way !!</br>";
}

我得到的输出是:“我走错路了!!”我还检查了 $_SESSION["names"] 的内容。除了结果之外,一切似乎都是正确的。

最佳答案

您只是假设您的查询永远不会失败,这是一件非常糟糕的事情。您很容易受到 sql injection attacks 的攻击。您还只是假设您的查询始终会返回结果。如果没有可用的行,fetch 将返回 false,然后将其视为“错误方式”。

至少,您应该有这样的结构:

for(...) {
$results = $mysqli_conn->query($sql);
if (!$results) {
die($mysqli_conn->error());
}
if ($results->num_rows != 0) {
$row = $results->fetch_assoc();
} else {
echo 'no results';
}
}

关于php - mysqli_conn->query... 放入 for 循环中时没有给出任何结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31812203/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com