簡體   English   中英

Mysqli查詢沒有記錄

[英]Mysqli query fetching no records

我正在嘗試運行使用mysqli庫的PHP腳本,但是在運行WLAMP PHP 5.14的計算機中,它在web主機服務器上未獲取任何結果,但效果很好。

您能否告訴我問題是否與mysqli有關,以及是否有辦法使其適合我的情況?

我要使工作的行如下所示:

$sql = "call sp_give_me_data(null,null,null);";

if (!$mysqli->query($sql)) {
   die('Invalid query: ' . mysql_error());
} else {

   $result = $mysqli->query($sql);

   if ($result->num_rows > 0) {
     while($row = $result->fetch_assoc()) {
       $datainfo[] = $row;
     }
     $output = json_encode($datainfo);
     echo utf8_encode($output);    
   } else {
     echo "0";
   }

}

正如我所說的,它在支持PHP 5.3-5.5的主機上獲取“ 0”記錄,並且在我的計算機上獲取了正確數量的記錄。 到遠程數據庫的連接(在兩種情況下都相同)似乎也很成功。

感謝您的見解。

更新

我更改了代碼,所以現在只發送一次查詢:

mysqli_set_charset($mysqli,"utf8"); //utf-8 accents query
$result = $mysqli->query($sql);     

if (!$result) {     
    die('Invalid query: ' . mysql_error());
} else {

    if ($result->num_rows > 0) {            
        while($row = $result->fetch_assoc()) {              
            $datainfo[] = $row;
        }
        //utf-8 accents unescaping to be shown correctly
        $output = json_encode($datainfo,JSON_UNESCAPED_UNICODE);
        echo $output;                       

    } else {
        echo "0";
    }       
}

現在可以使用。 謝謝!

您的表在遠程服務器中為空,在本地服務器中不為空

在@VolkerK的建議下,現在可以使用:

mysqli_set_charset($mysqli,"utf8"); //utf-8 accents query
$result = $mysqli->query($sql);     

if (!$result) {     
    die('Invalid query: ' . mysql_error());
} else {

    if ($result->num_rows > 0) {            
        while($row = $result->fetch_assoc()) {              
            $datainfo[] = $row;
        }
        //utf-8 accents unescaping to be shown correctly
        $output = json_encode($datainfo,JSON_UNESCAPED_UNICODE);
        echo $output;                       

    } else {
        echo "0";
    }       
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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