2012-01-29 43 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

删除所有这些@并再次运行您的代码。
确保您可以看到发生的错误。