php調用mysql預存程序和函數的方法_PHP教程

來源:互聯網
上載者:User
預存程序和函數是MySQL(和PHP搭配之最佳組合)5.0剛剛引入的。關於這方面的操作在php(做為現在的主流開發語言)裡面沒有直接的支援。但是由於MySQL(和PHP搭配之最佳組合) php(做為現在的主流開發語言) API的設計,使得我們可以在以前的php(做為現在的主流開發語言)版本中的MySQL(和PHP搭配之最佳組合) php(做為現在的主流開發語言) api中支援預存程序和函數的調用。

在php(做為現在的主流開發語言)中調用預存程序和函數。

1。調用預存程序的方法。

a。如果預存程序有 IN/INOUT參數,聲明一個變數,輸入參數給預存程序,該變數是一對,

一個php(做為現在的主流開發語言)變數(也可以不必,只是沒有php(做為現在的主流開發語言)變數時,沒有辦法進行動態輸入),一個MySQL(和PHP搭配之最佳組合)

變數。

b。如果預存程序有OUT變數,聲明一個MySQL(和PHP搭配之最佳組合)變數。

MySQL(和PHP搭配之最佳組合)變數的聲明比較特殊,必須讓MySQL(和PHP搭配之最佳組合)伺服器知道此變數的存在,其實也就是執行一條MySQL(和PHP搭配之最佳組合)語句。

入set @MySQL(和PHP搭配之最佳組合)var=$php(做為現在的主流開發語言)var ;

c。使用MySQL(和PHP搭配之最佳組合)_query()/MySQL(和PHP搭配之最佳組合)_db_query()執行MySQL(和PHP搭配之最佳組合) 變數聲明語句。

MySQL(和PHP搭配之最佳組合)_query("set @MySQL(和PHP搭配之最佳組合)var【=$pbpvar】");

這樣,在MySQL(和PHP搭配之最佳組合)伺服器裡面就有一個變數,@MySQL(和PHP搭配之最佳組合)ar。如果時IN參數,那麼其值可以有php(做為現在的主流開發語言)ar傳入。

d。 如果時預存程序。

1。執行 call procedure()語句。

也就是MySQL(和PHP搭配之最佳組合)_query("call proceduer([var1]...)");

2. 如果有傳回值,執行select @ar,返回執行結果。

MySQL(和PHP搭配之最佳組合)_query("select @var)"

接下來的操作就和php(做為現在的主流開發語言)執行一般的MySQL(和PHP搭配之最佳組合)語句一樣了。可以通過mydql_fetch_row()等函數獲得結果。

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


$host="localhost";
$user="root";
$password="11212";
$db="samp_db";
$dblink=MySQL(和PHP搭配之最佳組合)_connect($host,$user,$password)
or die("cant connect to MySQL(和PHP搭配之最佳組合)");
MySQL(和PHP搭配之最佳組合)_select_db($db,$dblink)
or die("cant select samp_db");
$res=MySQL(和PHP搭配之最佳組合)_query("set @a=$password",$dblink);
$res=MySQL(和PHP搭配之最佳組合)_query("call aa(@a)",$dblink);
$res=MySQL(和PHP搭配之最佳組合)_query("select @a",$dblink);
$row=MySQL(和PHP搭配之最佳組合)_fetch_row($res);
echo $row[0];

http://www.bkjia.com/PHPjc/508711.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/508711.htmlTechArticle預存程序和函數是MySQL (和PHP搭配之最佳組合) 5.0剛剛引入的。關於這方面的操作在php (做為現在的主流開發語言) 裡面沒有直接的支援。但是...

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.