<?php $result = mod_mysql_query("DROP PROCEDURE IF EXISTS procedurka"); $procedure = "CREATE PROCEDURE procedurka(pole1 int(8) unsigned, pole2 int(8) unsigned, pole3 mediumint(8) unsigned, pole4 varchar(64)) BEGIN INSERT INTO tabelka (pole1, pole2, pol3, pole4) VALUES (pole1, pole2, pole3, pole4); SELECT LAST_INSERT_ID() number; END"; $query = "CALL procedurka(".$pole1.", ".$pole2.", ".$pole3.", '');"; // Do tego momentu all OK! echo 'mysql_error() = "'.mysql_error().' (Line: '.__LINE__.')".'."<br>\n"; // << "Commands out of sync; you can't run this command now" ?>
Czytałem o tym na necie, na pewnych stronach piszą, że to bug mysql.
Ponoć pomaga reconnect, lub użycie funkcji typu mysql_free_result(), lub skorzystanie z mysqli, ale jak na razie nic mi to nie pomogło, albo coś źle robię.
Może procedurę źle napisałem?
Wersja MySQL: 5.1.35.
Wersja PHP: 5.3.0.
Any ideas?