2012-01-29 3 views
0

PHPMyAdmin에서 직접 실행할 때 올바르게 실행되는 유효한 쿼리에서 PHP에 오류가 발생합니다.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

+0

코드가 getUsers를 호출하고 있습니까? 이것이 클래스에 있다고 가정하면, 이것이 왜 잘못 될지 알 수 없습니다. – Sam152

+0

mysql_select_db()를 사용하여 테이블이있는 데이터베이스를 선택 했습니까? – cb1

답변

0

당신은 데이터베이스를 선택하지 않았습니다. 즉, php (또는 phpmyadmin)는 어느 데이터베이스에 대해 이야기하고 있는지 알지 못합니다!

그렇지 않은 경우 테이블 설정과 관련이있을 수 있습니다. 메소드에 @를두면 디버깅을 위해 생산에 좋은 모든 오류와 경고가 숨겨집니다.

0

당신 중 하나 DB를 선택하지 않았거나 MySQL 서버에 대한 연결을 설정하지 않았다 (그 중 하나 또는 그것은 아마도 서버가 다운되거나 잘못된 설정/암호?이었고, 사용할 수 없음)

0

이 @를 모두 제거하고 코드를 다시 실행하십시오.
오류가 발생했는지 확인하십시오.

0

@ 기호를 꺼내어 오류가 있는지 확인하십시오.

관련 문제