CREATE PROCEDURE -> Lost connection to MySQL server during query

Andreika

"PHP for nubies" reader
CREATE PROCEDURE -> Lost connection to MySQL server during query

MySQL 5.0.18-nt

PHP:
<?
$db = new mysqli('localhost','login','pass', 'test');
$db->query("DROP PROCEDURE sp1"); 
$db->query("
 CREATE PROCEDURE sp1 (x VARCHAR(5))
  BEGIN
    SELECT (2+2);
  END;
");
   
$r = $db->query("CALL sp1('x')");
var_dump($r->fetch_assoc()); //array(1) {  ["(2+2)"]=>  string(1) "4"}

$r2 = $db->query('SELECT 2+2');
var_dump($r2); //(bool)false
echo $db->error; //Lost connection to MySQL server during query

$r = $db->query("CALL sp1('x')");
echo $db->error; // MySQL server has gone away
?>
вопрос - куда и почему уходит сервер(соединение с...) :) после SELECT в хранимых процедурах
 

Rammstein

PHPClub::News
Слишком много ресурсов видать тратится на сложение :) Юзай вычитание.
 

Andreika

"PHP for nubies" reader
Rammstein
[offtop]
мож комп проапгрейдить? что лучше - проц поменять или памяти добавить? хотя наверное видюху сменить надо, ибо в mysqlной консольке работает, а в графических программах тормозит
[/offtop]
 

Andreika

"PHP for nubies" reader
Necromant
http://dev.mysql.com/doc/refman/5.0/en/gone-away.html
http://dev.mysql.com/doc/refman/5.0/en/communication-errors.html
читал... вроде не то... на всяк случай уточню:

после запроса (из скрипта) хранимой процедуры, которая заканчивается на SELECT чего-то там следующий запрос обрывает соединение с mysql.
Код:
060410  9:51:36 [Warning] Aborted connection 2 to db: 'test' user: 'login' host: '
localhost' (Got an error reading communication packets)
те же запросы в mysqlном консольном клиенте нормально работают
удаление SELECT из текста процедуры тоже "помогает"

php5.1.2

-~{}~ 10.04.06 11:25:

использовать mysqli->multi_query и не забывать :( calling mysqli_next_result to clear remaining data on socket.
вопрос исчерпан :)
 
Сверху