溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

php中如何調(diào)用mysql存儲(chǔ)過(guò)程

發(fā)布時(shí)間:2021-07-28 14:42:47 來(lái)源:億速云 閱讀:190 作者:Leah 欄目:MySQL數(shù)據(jù)庫(kù)

今天就跟大家聊聊有關(guān)php中如何調(diào)用mysql存儲(chǔ)過(guò)程,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。

存儲(chǔ)過(guò)程和函數(shù)是MySql5.0剛剛引入的。關(guān)于這方面的操作在PHP里面沒(méi)有直接的支持。但是由于Mysql PHP API的設(shè)計(jì),使得我們可以在以前的PHP版本中的mysql php api中支持存儲(chǔ)過(guò)程和函數(shù)的調(diào)用。

在php中調(diào)用存儲(chǔ)過(guò)程和函數(shù)。

1。調(diào)用存儲(chǔ)過(guò)程的方法。

a。如果存儲(chǔ)過(guò)程有 IN/INOUT參數(shù),聲明一個(gè)變量,輸入?yún)?shù)給存儲(chǔ)過(guò)程,該變量是一對(duì),

一個(gè)php變量(也可以不必,只是沒(méi)有php變量時(shí),沒(méi)有辦法進(jìn)行動(dòng)態(tài)輸入),一個(gè)Mysql

變量。

b。如果存儲(chǔ)過(guò)程有OUT變量,聲明一個(gè)Mysql變量。

mysql變量的聲明比較特殊,必須讓mysql服務(wù)器知道此變量的存在,其實(shí)也就是執(zhí)行一條mysql語(yǔ)句。

入set @mysqlvar=$phpvar ;

c。使用mysql_query()/mysql_db_query()執(zhí)行mysql 變量聲明語(yǔ)句。

mysql_query("set @mysqlvar【=$pbpvar】");

這樣,在mysql服務(wù)器里面就有一個(gè)變量,@mysqlar。如果時(shí)IN參數(shù),那么其值可以有phpar傳入。

d。 如果時(shí)存儲(chǔ)過(guò)程。

1。執(zhí)行 call procedure()語(yǔ)句。

也就是mysql_query("call proceduer([var1]...)");

2. 如果有返回值,執(zhí)行select @ar,返回執(zhí)行結(jié)果。

mysql_query("select @var)"

接下來(lái)的操作就和php執(zhí)行一般的mysql語(yǔ)句一樣了??梢酝ㄟ^(guò)mydql_fetch_row()等函數(shù)獲得結(jié)果。

如果時(shí)函數(shù)。 直接執(zhí)行 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]

看完上述內(nèi)容,你們對(duì)php中如何調(diào)用mysql存儲(chǔ)過(guò)程有進(jìn)一步的了解嗎?如果還想了解更多知識(shí)或者相關(guān)內(nèi)容,請(qǐng)關(guān)注億速云行業(yè)資訊頻道,感謝大家的支持。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI