/ / 2a chiamata alla stored procedure dà errore (2014) - mysql, stored-procedures, mysqli

La seconda chiamata alla stored procedure dà errore (2014) - mysql, stored-procedures, mysqli

il mio primo giorno con le stored procedure. quando chiamo la procedura per la seconda volta ottengo un errore?

sembra che abbia qualcosa a che fare con il modo in cui ottengo il risultato e devo liberare il risultato? Ho provato diversi modi, ma non riesco a capirlo senza errori :(

$t = 27;
$res = $mysqli->query("CALL ts_open_uitdagingen("".$t."")");
$aRes = $res->fetch_assoc();
echo "<br />".$aRes["open_uitdagingen"]."<br />";
echo"<hr />";

$t = 80;
$res = $mysqli->query("CALL ts_open_uitdagingen("".$t."")");
echo "<br />CALL failed?: (" . $mysqli->errno . ") " . $mysqli->error;
$aRes = $res->fetch_assoc();
echo "bBr />".$aRes["open_uitdagingen"]."<br />";
echo"<hr />";

Displays:

1

Chiamata fallita?: (2014) Comandi non sincronizzati; non puoi eseguire questo comando ora Errore fatale: chiama a una funzione membro fetch_assoc () su un oggetto non presente in /home/xxxxxxxxxx.nl/public_html/content/speler_uitdagen.php sulla riga 14

risposte:

1 per risposta № 1

Ammetto di non averlo mai usato mysqli in questo modo, ma da questo commento sembra che tu debba usare entrambi $res->close() e $mysqli->next_result() prima di chiamare nuovamente l'SP:

$t = 27;
$res = $mysqli->query("CALL ts_open_uitdagingen("".$t."")");
$aRes = $res->fetch_assoc();
echo "<br />".$aRes["open_uitdagingen"]."<br />";
echo"<hr />";
$res->close();
$mysqli->next_result();

...