Написал сис-му управления баннерами, и решил связать её с базой, которая находится в отдельном классе. Такая проблема:
есть класс SQLDB, в нём есть ф-ия:
| Код | function QueryPublicBase($query) { global $Mysql_query_error;
return mysql_query($query, $this->PublicSqlBase) or die('ERROR!'); }
|
PublicSqlBase получаем так:
| Код | function InitPublicSql() { // Ошибки из Messages.inc global $Mysql_connect_error; global $Mysql_select_db_error; global $Config_file_error;
$init = @parse_ini_file('private.conf') or die($Config_file_error);
$this->PublicSqlBase = mysql_connect($init['Host'], $init['PublicBaseLogin'], $init['PublicBasePass']) or die($Mysql_connect_error);
mysql_select_db($init['Base'], $this->PublicSqlBase) or die($Mysql_select_db_error); }
|
по идее она (QueryPublicBase) должна выполнять запрос в mysql и возвращать результат:
далее я создаю объект:
| Код | $DB = new SQLDB; $DB->InitPublicSql(); // здесь подключаемся к базе, проблем нет
|
а вот далее пытаюсь сделать следующее:
| Код | $query = 'SELECT html FROM Banner WHERE id='.$id; $getbanner = $DB->QueryPublicBase($query); $row = mysql_fetch_array($getbanner); printf("%s", $row['html']);
|
а mysql_fetch_array кричит, что "supplied argument is not a valid MySQL result resource", хотя если сделать так:
| Код | ... $getbanner = mysql_query($query, $DB->PublicSqlBase) or die('ERROR!'); ...
|
То всё работает! В чём может быть дело? |