我正在尝试连接到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所有常量和其他变量都是正确的。
答案 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方法