2011-07-04 196 views
-1

可能重複:
Warning: mysql_fetch_* expects parameter 1 to be resource, boolean given errorPHP問題與數據庫連接

我有一類稱爲utils的這樣

class Utils 
{ 
    public static $connection; 

    function __construct() 
    { 
    } 

    public static function getConnection() 
    { 
     try 
     { 
      $connection = mysql_connect("localhost", "root", "robingraves"); 
      mysql_select_db('repuesto_en_mano',$connection); 
      return $connection; 
     } 
     catch(Exception $e) 
     { 
      throw new Exception('Error connection with the data base'); 
     } 
    } 

    public static function closeConnection ($conn) 
    { 
     mysql_close($conn); 
    } 
} 

而另一個類,使所謂的

require("Utils.php"); 
$utils = new Utils(); 
$connection = $utils->getConnection(); 
echo $connection; 
$sqlCommand = 'Select IdMarca from Marca'; 
$resEmp = mysql_query($sqlCommand, $connection) or die(mysql_error()); 
$totEmp = mysql_num_rows($resEmp); 
if ($totEmp> 0) { 
    while ($rowEmp = mysql_fetch_assoc($resEmp)) { 
     echo "<strong>".$rowEmp['IdMarca']."</strong><br>"; 
    } 
} 

它說的

PHP的警告:請求mysql_query()預計 參數2是資源,空給出 在BrandsService.php第7行

我在做什麼錯

+0

你是否檢查到你的MySQL數據庫的連接正在進行? – KJW

回答

1

你確定$connection是非NULL嗎?另外,當我使用Utils :: getConnection是一個靜態函數,而不是一個實例方法時,我發現你正在構建一個新的Utils對象。

1

這聽起來像連接到數據庫時發生錯誤。

mysql_*()函數不會拋出異常。

因爲沒有回報,所以$connection正在分配NULL

NULL不是有效的MySQL資源,它需要mysql_query()的第二個參數。

+0

但我能做錯什麼?我需要把端口放在字符串連接中? – Jorge