"Мега-Мысль" свою проверил, как и подозревал, бредятина :-)
>> А только с этой функцией проблемы? а как другие mysql_* фукнции себя ведут?
Только с этой. Остальные, может, когда-то что-то писали по мелочи, но я в конечном итоге всё разрулил, пусть даже косвенно.
>> Или посмотреть, есть ли ещё соединение.
>> Попытайтесь определить было ли успешным соединение с базой
Как? В этом-то и затык. Я чего-то "теоретически", видимо, не понимаю. Что такое это "соединение"?
Цитата hasherfrog:
Выходит, что у меня куда-то пропадает соединение при работе PHP-кода »
|
То есть, в момент, когда пользователь грузит головную страницу и выполняется $DB->connect(), оно либо выполняется, но идентификатор connection_id становится некорректным, либо он вообще мне возвращается некорректный!!! Правильно?
Переменная connection_id в классе db_driver определена как
var connection_id = "";
и её значение внутри connect() инициализируется так:
PHP код:

... class db_driver { ...
function connect() {
if ($this->obj['persistent'])
{
$this->connection_id = mysql_pconnect( $this->obj['sql_host'] , $this->obj['sql_user'] , $this->obj['sql_pass'] );
}
else
{
$this->connection_id = mysql_connect( $this->obj['sql_host'] , $this->obj['sql_user'] , $this->obj['sql_pass'] );
}
if ( !mysql_select_db($this->obj['sql_database'], $this->connection_id) )
{
echo ("ERROR: Cannot find database ".$this->obj['sql_database']);
}
}
Никакого сообщения об ошибке я не вижу. Но выполняющаяся следом mysql_real_escape_string() (это в $ibforums->input = $std->parse_incoming(); ) уже никакого соединения не находит.
??? Как быть? Как проверить, нее потерялось ли оно, это соединение?
И как (если уж на то пошло) оно вообще "теряется" (или не устанавливается, но без ошибки[!] при этом) в теории?