无法连接到数据库

时间:2012-03-28 05:54:36

标签: php mysql database-connection

我正在尝试连接到2个数据库。其中一个是远程数据库。一旦我连接到远程数据库,我遇到了存在的问题,它给了mysql_fetch_array()'提供的参数无效'。所以我改变了我的数据库类并尝试使其工作。但我仍然得到错误:(。它没有抓住$connection变量。 我得到“未定义的变量连接”。 这是我的连接类。请帮帮我。感谢您的帮助。

global $connection;

class Database{

function __construct()
{
    $this->open_connection();
}

public function open_connection()
{

    $connection = $this->connection= mysql_connect(SERVER,UNAME,PASSWORD);

    if(!$this->connection)
    {
        return false;
    }

    if(!mysql_select_db(DB_NAME,$this->connection))
    {
        return false;
    }
    return true;
}

public function close_connection()
{
    mysql_close($this->connection);
}
 //open_connection();
 }

$database = new Database();

在另一页中:

$result=mysql_query($query,$connection);        

while ($rec = mysql_fetch_array($result)) ... etc

p.s所有常量和其他变量都是正确的。

3 个答案:

答案 0 :(得分:1)

在类中使用全局变量就像死亡一样。 您可以为连接链接提供类字段

$this->connection = mysql_connect(...);

在课堂外

$result = mysql_query($sql, $object->connection);

我还建议你使用现有的mysqli类。

答案 1 :(得分:0)

嗯......好吧,看起来你得到一个未定义的错误,因为你在类文件的顶部调用了全局$ connection,并且没有为它分配值。

看起来你正在open_connection()方法中建立$ connection ...你是否在一些你没有提到的包含文件中建立$ connection?

尝试删除第一行代码?

答案 2 :(得分:0)

“全球$连接;”必须在“open_connection”方法内或使用@peipst9lker方法