2013-07-26 392 views
0

我是PHP新手,所以我必須爲這樣一個愚蠢的問題道歉,但我不知道如何找到正確的答案。我應該檢查我的最終結果是否爲空(如果$ sql發現任何內容)。如果它沒有發現我想獲得一些通知示例「列表爲空」。當我調用url時,該消息也將從Android應用程序中可見?處理錯誤報告

<?php 
$host = ""; 
$user = ""; 
$pwd = ""; 
$db = ""; 

$con = mysqli_connect($host, $user, $pwd, $db); 

if(mysqli_connect_errno($con)) { 
    die("Failed to connect to MySQL: " . mysqli_connect_error()); 
} 

// query the application data 

$sql = "SELECT * FROM lista WHERE Grad='".$_GET['grad']."' AND Predmet='".$_GET['predmet']."'"; 

$result = mysqli_query($con, $sql); 

$rows = array(); 

while($row = mysqli_fetch_array($result, MYSQLI_ASSOC)) { 


     $rows[] = $row;  
} 

mysqli_close($con); 

echo json_encode($rows); 
+0

只是一個建議,但是當你要發佈您的網站,請刪除「mysqli_connect_error()」除了錯誤時,數據庫連接失敗。您可以考慮將其記錄到文本文件或不處理錯誤消息。 – KarelG

+0

您的查詢易受SQL注入攻擊。使用參數化查詢。 – danronmoon

回答

1

如果mysqli_num_rows返回0,則表示沒有記錄。

$result = mysqli_query($con, $sql); 
if (mysqli_num_rows($result) == 0) { 
    $rows = "no rows found"; 
} else { 
    $rows = array(); 
    while($row = mysqli_fetch_array($result, MYSQLI_ASSOC)) { 
     $rows[] = $row;  
    } 
} 
mysqli_close($con); 
echo json_encode($rows); 
+0

就是這樣,Tnx很多。我會接受你的答案。 –