[英]mysqli_conn->query… is not giving any results when put inside for loop
我无法从代码中显示的for循环中包含的“ $ mysqli_conn-> query”语句中获取结果。 我使用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注入攻击的攻击 。 您还只是假设您的查询将始终返回结果。 如果没有可用的行,则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';
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.