簡體   English   中英

mysqli_conn-> query…放入for循環時不給出任何結果

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM