[英]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.