2011-03-25 81 views
0

我收到錯誤:PHP DB連接問題

Warning: mysqli_num_rows() expects parameter 1 to be mysqli_result, boolean given in /home/mjcrawle/public_html/home/index.php on line 23

線23原來是$num_results = mysqli_num_rows($result);但我想到的是錯誤的進一步上漲,但我無法找到它。

,我使用連接到數據庫的實際代碼是(我不知道有如果數據庫無法連接冗餘):

任何幫助將是美妙的和錯誤的理由將是真棒!

/*Connect To DB*/ 
$conn = mysqli_connect($host, $user, $pwd) 
     or die("Could not connect: " . mysql_error()); //connect to server 
    mysqli_select_db($conn, $database) 
     or die("Error: Could not connect to the database: " . mysql_error()); 

    /*Check for Connection*/ 
    if(mysqli_connect_errno()){ 
     /*Display Error message if fails*/ 
     echo 'Error, could not connect to the database please try again later.'; 
    exit(); 
    } 

/* Query for states */ 
$query = "SELECT StateAbbreviation, StateName, FROM USState ORDER BY StateName"; 
$result = mysqli_query($conn, $query); 
$num_results = mysqli_num_rows($result); 
?> 

回答

3

你有query = "SELECT StateAbbreviation, StateName, FROM USState ORDER BY StateName";FROM前一個逗號,你可能會得到一個錯誤,並沒有因此,當你執行查詢。

0

如果查詢失敗,mysqli_query返回布爾false

$result = mysqli_query($conn, $query);後,你應該在繼續前測試返回值:

if (! $result){ 
    $error = mysqli_error($conn); 
    //do something with the error message 
} 

見EMCO對爲什麼查詢失敗的答案。

+0

更好地檢查'如果($結果!== FALSE)'。如果無論出於何種原因mysqli_query可能返回0,您的測試將表明它失敗,但只有一個實際的布爾值FALSE指示。 – 2011-03-25 02:34:30

0

<?php $con=mysqli_connect('localhost','root','','dbname') or die ("Connection Failed"); ?>

這是DB連接的簡單的方法