首頁  >  文章  >  php教程  >  php呼叫mysql預存程序和函數的方法

php呼叫mysql預存程序和函數的方法

高洛峰
高洛峰原創
2016-12-02 10:50:111771瀏覽

預存程序和函數是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]...)");

      

             mysql_query("select @var)"

           可以透過mydql_fetch_row()等函數獲得結果。

          若時函數。 直接執行 select function() 就可以了。

 
 $host="localhost";
    $user="root";
    $password="11212";
    $db="samp_dblink $ or die("can't connect to mysql");
 mysql_select_db($db,$dblink)
      or die("can't select samp_db");
. $dblink);
    $res=mysql_query("call aa(@a)",$dblink);
    $res=mysql_query("select @a",$dblink); ); echo $row[0];



陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn