PHP調(diào)用存儲過程返回值不一致問題的解決方法分析
本文實例講述了PHP調(diào)用存儲過程返回值不一致問題的解決方法。分享給大家供大家參考,具體如下:
今天遇一個同學聊存儲過程返回值經(jīng)常得到意外的值為null, 因為白天有事,晚上給做一個實驗放在這里供有相應問題的同學查看一下。
存儲過程:
delimiter// createprocedureusp_s2(outpar1int) begin selectinet_ntoa(ip),portfromproxy_listlimit5; selectcount(*)intopar1fromproxy_list; END// delimiter;
session 1執(zhí)行:
mysql>callusp_s2(@a); +—————+——+ |inet_ntoa(ip)|port| +—————+——+ |1.34.21.86 |8088| |1.34.59.50 |8088| |1.34.69.15 |8088| |1.34.73.110 |8088| |1.34.76.218 |8088| +—————+——+ 5rowsinset(0.00sec) QueryOK,1rowaffected(0.01sec) mysql>select@a; +——+ |@a | +——+ |4430| +——+ 1rowinset(0.00sec)
session 2執(zhí)行:
mysql>select@a; +——+ |@a | +——+ |NULL| +——+ 1rowinset(0.00sec)
可見兩個session得到的結(jié)果不一致。 基本可以肯定兩次調(diào)用落入不同的會話中會得到不同的值。
為了一致可以如用如下調(diào)用:
<?php
$hostname="127.0.0.1";
$username="wubx";
$password="wubxwubx";
$database="proxydb";
$db=newmysqli($hostname,$username,$password,$database);
if(mysqli_connect_errno()){
printf("Connect failed: %s\n",mysqli_connect_error());
exit();
}
$result=$db->multi_query("call usp_s2(@total); select @total;");
if($result){
do{
if($r=$db->store_result()){
if($r->field_count==2){
while($row=$r->fetch_row()){
print"ip: $row[0], port: $row[1]\n";
}
}else{
$row =$r->fetch_row();
print"total: $row[0]\n";
}
}
}while($db->next_result());
}
$db->close();
?>
$phpt_proc_return.php
ip:1.34.21.86,port:8088
ip:1.34.59.50,port:8088
ip:1.34.69.15,port:8088
ip:1.34.73.110,port:8088
ip:1.34.76.218,port:8088
total:4430
Good luck.
更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《MySQL存儲過程技巧大全》、《PHP數(shù)據(jù)結(jié)構(gòu)與算法教程》、《PHP運算與運算符用法總結(jié)》、《PHP網(wǎng)絡編程技巧總結(jié)》、《PHP基本語法入門教程》、《php操作office文檔技巧總結(jié)(包括word,excel,access,ppt)》、《php日期與時間用法總結(jié)》、《php面向?qū)ο蟪绦蛟O計入門教程》、《php字符串(string)用法總結(jié)》、《php+mysql數(shù)據(jù)庫操作入門教程》及《php常見數(shù)據(jù)庫操作技巧匯總》
希望本文所述對大家PHP程序設計有所幫助。
相關(guān)文章
php中如何同時使用session和cookie來保存用戶登錄信息
本篇文章是對在php中同時使用session和cookie來保存用戶登錄信息的實現(xiàn)代碼進行了詳細的分析介紹,需要的朋友參考下2013-07-07
深入研究PHP中的preg_replace和代碼執(zhí)行
這篇文章主要給大家介紹了關(guān)于PHP中preg_replace和代碼執(zhí)行的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2018-08-08
php中jQuery插件autocomplate的簡單使用筆記
剛接觸jQuery,時間不太長,以下文章只限于參考使用。查了一部分資料,最后終于寫成功了,只是單純的實現(xiàn),其它的特殊用法還沒有進行深入研究,簡單貼出來,希望可以給新手一個參考2012-06-06

