php呼叫mysql儲存過程和函式的方法
儲存過程和函式是mysql5.0剛剛引入的。關於這方面的操作在php裡面沒有直接的支援。但是由於mysql php api的設計,使得我們可以在以前的php版本中的mysql php api中支援儲存過程和函式的呼叫。
在php中呼叫儲存過程和函式。
1。呼叫儲存過程的方法。
a。如果儲存過程有 in/inout引數,宣告乙個變數,輸入引數給儲存過程,該變數是一對,
乙個php變數(也可以不必,只是沒有php變數時,沒有辦法進行動態輸入),乙個mysql
變數。
b。如果儲存過程有out變數,宣告乙個mysql變數。
mysql變數的宣告比較特殊,必須讓mysql伺服器知道此變數的存在,其實也就是執行一條mysql語句。
入set @mysqlvar=$phpvar ;
c。使用mysql_query()/mysql_db_query()執行mysql 變數宣告語句。
mysql_query("set @mysqlvar【=$pbpvar】");
這樣,在mysql伺服器裡面就有乙個變數,@mysqlar。如果時in引數,那麼其值可以有phpar傳入。
d。 如果時儲存過程。
1。執行 call procedure()語句。
也就是mysql_query("call proceduer([var1]...)");
2. 如果有返回值,執行select @ar,返回執行結果。
mysql_query("select @var)"
接下來的操作就和php執行一般的mysql語句一樣了。可以通過mydql_fetch_row()等函式獲得結果。
如果時函式。 直接執行 select function() 就可以了。
$host="localhost";
$user="root";
$password="11212";
$db="samp_db";
$dblink=mysql_connect($host,$user,$password)
or die("can't connect to mysql");
mysql_select_db($db,$dblink)
or die("can't 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];
php呼叫mysql 儲存過程
php可以通過查詢語句 call procedurename 來呼叫mysql的儲存過程。但不能使用mysql 相關函式得用mysqli 相關函式。建立儲存過程 use test create procedure sta select from ta connstr mysqli connect l...
用 PHP 呼叫 MySQL 儲存過程
mysql 5.0 以上支援儲存過程。php 5.0 以上的 mysqli 系列函式可以支援操作 mysql 的儲存過程。以下是一些簡單的儲存過程和用 php 呼叫的示例。一 返回單個資料 1 2 header content type text html charset utf 8 3 4 hos...
用 PHP 呼叫 MySQL 儲存過程
mysql 5.0 以上支援儲存過程。php 5.0 以上的 mysqli 系列函式可以支援操作 mysql 的儲存過程。以下是一些簡單的儲存過程和用 php 呼叫的示例。一 返回單個資料 1 host localhost 5 user root 6 password mypassword 7 db...