繁体   English   中英

有效查询中的PHP MySQL错误

[英]PHP MySQL error on valid query

我在有效查询中的PHP中遇到错误,当直接从PHPMyAdmin运行时,该查询可以很好地执行。

以前有人遇到过类似的问题,可以指出正确的方向吗?

下面是错误以及执行查询所使用的函数。

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(!@mysql_select_db(DB_NAME, $this->linkID)) $this->dbError('Can not use Database : ' . mysql_error());
        }
    }

您没有选择数据库。 这意味着php(或phpmyadmin)不知道您在谈论哪个数据库!

如果不是这种情况,则可能与您的表设置有关。 在方法上加上@会隐藏所有错误和警告,这对生产,调试都很有用...并非如此。

您要么未选择数据库,要么未建立与MySQL服务器的连接(该连接或该服务器不可用,可能服务器已关闭或设置/密码错误?)

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

取出@符号,看看是否显示任何错误。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM