2012-01-29 46 views
0

我在有效查詢中遇到PHP錯誤,該錯誤在直接從PHPMyAdmin運行時執行得很好。有效查詢中的PHP MySQL錯誤

有沒有人有過類似的問題,並指出我在正確的方向嗎?

該錯誤與執行查詢所使用的函數一起在下面。

Array 
( 
    [Error] => Invalid Query : SELECT * FROM users ORDER BY userDeleted ASC, userFullname ASC 
) 
Array 
( 
    [Error] => Empty MySQL resource. 
) 

public function query($q){ 
     if(empty($q)) $this->dbError('Empty MySQL Query.'); 
     if($this->linkID == 0) $this->connect(); 
     $temp = @mysql_query($q, $this->linkID); 
     if(!$temp) $this->dbError('Invalid Query : '.mysql_error().'<br />'.$q); 
     return $temp; 

} 

public function getUsers(){ 
    $q = "SELECT * FROM users ORDER BY userDeleted ASC, userFullname ASC"; 
    $result = $this->query($q); 

更新: 數據庫連接通過:

private function connect(){ 
     if(!$this->linkID){ 
      $this->linkID = @mysql_connect(DB_HOSTNAME, DB_USERNAME, DB_PASSWORD); 
      if(!$this->linkID) $this->dbError('Could not connect: ' . mysql_error()); 
      $this->select_db(); 
     } 
     return $this->linkID; 
    } 

    function select_db(){ 
     if($this->linkID){ 
      if([email protected]_select_db(DB_NAME, $this->linkID)) $this->dbError('Can not use Database : ' . mysql_error()); 
     } 
    } 
+0

'linkID'有效嗎? – DonCallisto 2012-01-29 15:19:12

+0

您確定您的代碼正在調用getUsers?假設這是一個班級,我不明白爲什麼會出錯。 – Sam152 2012-01-29 15:19:30

+0

我認爲你選擇了你的表所在的數據庫,使用'mysql_select_db()'? – cb1 2012-01-29 15:20:27

回答

0

您沒有選擇一個數據庫。這意味着php(或phpmyadmin)不知道你在說哪個數據庫!

如果情況並非如此,那麼這可能與您的表格設置有關。將@放在方法上會隱藏所有錯誤和警告,這對生產很有用,對於調試...並不是真的。

0

您可能沒有選擇一個數據庫,或沒有建立到MySQL服務器的連接(如果不是這樣,它是不可用的,也許是服務器關閉或不正確的設置/密碼?)

0

刪除所有這些@並再次運行您的代碼。
確保您可以看到發生的錯誤。