善始善終是褒義詞嗎
php調(diào)用mysql存儲(chǔ)過(guò)程和函數(shù)的兩種方法存儲(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() 就可以了。
php調(diào)用mysql存儲(chǔ)過(guò)程和函數(shù)的方法一: $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調(diào)用mysql存儲(chǔ)過(guò)程和函數(shù)方法二:此方法需要db_mysqli.dll的支持!調(diào)用帶有select語(yǔ)句的存儲(chǔ)過(guò)程就出現(xiàn) PROCEDURE p can’t return a result set in the given context的錯(cuò)誤。Google了半天,在mysql官網(wǎng)上找到一些說(shuō)法,db_mysql的模塊不支持存儲(chǔ)過(guò)程調(diào)用,解決方法是用 db_mysqli。測(cè)試了一下,果然可以了。
【善始善終是褒義詞嗎】相關(guān)文章:
指鹿為馬是褒義詞嗎02-06
口蜜腹劍是褒義詞嗎09-05
如喪考妣是褒義詞嗎09-22
小巧玲瓏是褒義詞嗎04-23
高高在上是褒義詞嗎11-10
因材施教是褒義詞嗎09-19
筋疲力盡是褒義詞嗎10-22
實(shí)事求是是褒義詞嗎03-26
循序漸進(jìn)是褒義詞嗎01-11
養(yǎng)尊處優(yōu)是褒義詞嗎06-07
- 相關(guān)推薦