Gespeicherte Prozeduren und Funktionen wurden gerade in MySql5.0 eingeführt. Es gibt keine direkte Unterstützung für diesen Vorgang in PHP. Aufgrund des Designs der MySQL-PHP-API können wir jedoch Aufrufe gespeicherter Prozeduren und Funktionen in der MySQL-PHP-API in früheren PHP-Versionen unterstützen.
Gespeicherte Prozeduren und Funktionen in PHP aufrufen.
1. Methoden, die gespeicherte Prozeduren aufrufen.
a. Wenn die gespeicherte Prozedur IN/INOUT-Parameter hat, deklarieren Sie eine Variable und geben Sie die Parameter in die gespeicherte Prozedur ein. Die Variable ist ein Paar,
Eine PHP-Variable (dies ist nicht erforderlich, aber wenn keine PHP-Variable vorhanden ist). , es gibt keine Möglichkeit, eine dynamische Eingabe durchzuführen), eine Mysql
-Variable.
b. Wenn die gespeicherte Prozedur eine OUT-Variable hat, deklarieren Sie eine MySQL-Variable.
Die Deklaration von MySQL-Variablen ist etwas Besonderes. Der MySQL-Server muss die Existenz dieser Variablen kennen.
Geben Sie set @mysqlvar=$phpvar;
c ein. Verwenden Sie mysql_query()/mysql_db_query(), um die MySQL-Variablendeklarationsanweisung auszuführen.
mysql_query("set @mysqlvar【=$pbpvar】");
Auf diese Weise gibt es eine Variable im MySQL-Server, @mysqlar. Wenn es sich um einen IN-Parameter handelt, kann sein Wert von phpar übergeben werden.
d. Wenn gespeicherte Prozedur.
1. Führen Sie die Anweisung „call procedure()“ aus.
Das ist mysql_query ("Call Proceduer ([VAR1] ...)");2. Wenn es einen Rückgabewert gibt, führen Sie select @ar aus und geben Sie das Ausführungsergebnis zurück . mysql_query("select @var)" Der nächste Vorgang ist derselbe wie PHP, das eine allgemeine MySQL-Anweisung ausführt. Die Ergebnisse können über Funktionen wie mydql_fetch_row() abgerufen werden. Wenn Funktion. Führen Sie einfach select function() direkt aus.
$host="localhost";
$user="root";
$password="11212";
$db="samp_db";
$ dblink=mysql_connect($host,$user,$password)
or die("Kann keine Verbindung zu MySQL herstellen");
mysql_select_db($db,$dblink)
or die("Kann nicht hergestellt werden select samp_db");
$res=mysql_query("set @a=$password",$dblink);
$res=mysql_query("call aa(@a)",$dblink);
$res=mysql_query("select @a",$dblink);
$row=mysql_fetch_row($res);
echo $row[0];