Salve a tutti,

Ho create la seguente Stored Procedure su MySql:

CREATE PROCEDURE sptest2()
BEGIN
SELECT * FROM UTENTI;
END

e la richiamo da php come segue:

$link = mysql_connect(srv,login,password)
or die("Could not connect:".mysql_error());
mysql_select_db(db)
or die("Could not connect:".mysql_error());

$query = "call sptest2()";
$result = mysql_query($query)
or die("
KO: $query
".mysql_error());


Ottengo:

KO: call sptest2()
PROCEDURE apparati.sptest2 can't return a result set in the given
context


Se invece la richiamo così funziona tutto:

$mysqli=new mysqli(srv,login,password,db);
$SQL = "call sptest2()";

if (($result = $mysqli->query($SQL))===false) {
printf("Invalid query: %s\nWhole query: %s\n", $mysqli->error, $SQL);
exit();
}

while ($myrow=result->fetch_array(MYSQLI_ASSOC)){
echo $myrow["email"]."
";
}
$result->close();
$mysqli->close();


PERCHE'?
Che differenza c'è i comandi
mysql_connect, mysql_select_db e mysql_query rispetto ai comandi
mysqli, mysqli->query ecc. ecc.???


Grazie a tutti.