我无法从" $ mysqli_conn->查询中得到结果"如代码中所示,包含在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>";
}
我得到的输出是:&#34;我走错路了!&#34; 我还检查了$ _SESSION [&#34;名称&#34;]的内容。除结果外,一切似乎都是正确的。
答案 0 :(得分:0)
您只是假设您的查询永远不会失败,这是一件非常糟糕的事情。您很容易受到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';
}
}