本文目錄一覽:
php調用mysql存儲過程,如何實現。 我的代碼如下:
mysql存儲過程返回2個資源,第一個是執行信息,第二個是存儲過程返回結果。
mysql_*系列函數無法獲取超過1個資源,需使用mysqli或PDO代替。
PDO:
$stmt = $db-prepare(“CALL pro_rb_save(?,?,@return_msg);”);
$stmt-bindParam(1, $a);
$stmt-bindParam(2, $b);
$stmt-execute ();
$outputArray = $db-query(“select @return_msg”)-fetch(PDO::FETCH_ASSOC);
var_export($return_msg);
thinkphp調用mysql存儲過程 ,求助,具體點好嗎,格式猜不出來…
thinkPHP的調用
$model = M(“”);
$data = $model – query(“CALL abcas(1,’gfffffggg@qq.com’)”);//調用存儲過程
dump($data);//輸出存儲過程的返回值
存儲過程部分
BEGIN — 存儲過程開始
START TRANSACTION; — 開始事務
#Routine body goes here…
SET @x = 1; — 定義變量,通過這個變量判斷知道到的地方,事務成功@x返回大於0,否則返回0
update lzh_members set user_email = em where id = tid;
if row_count() 0 then — 判斷語句是否執行成功
update lzh_members set user_type = 0 where id = tid;
if row_count() 0 then
update lzh_members set user_type = 2 where id = tid;
if row_count() 0 then
SET @x = 5;
select @x;
commit; — 事務提交
ELSE
SET @x = 0;
select @x;
rollback; — 事務回滾
end if;
ELSE
SET @x = 0;
select @x;
rollback; — 事務回滾
end if;
ELSE
SET @x = 0;
select @x;
rollback; — 事務回滾
end IF;
END –存儲過程結束
php調用mysql存儲過程(急,在線等)
關鍵就是兩點
1)define(‘CLIENT_MULTI_RESULTS’, 131072);
2)$link = mysql_connect(“127.0.0.1”, “root”, “”,1,CLIENT_MULTI_RESULTS) or die(“Could not connect: “.mysql_error());
下面就可以正常使用了,以下是例子程序。
?php
define(‘CLIENT_MULTI_RESULTS’, 131072);
$link = mysql_connect(“127.0.0.1”, “root”, “”,1,CLIENT_MULTI_RESULTS) or die(“Could not connect: “.mysql_error());
mysql_select_db(“vs”) or die(“Could not select database”);
?
?php
$result = mysql_query(“call get_news_from_class_id(2)”) or die(“Query failed:” .mysql_error());
while($row = mysql_fetch_array($result, MYSQL_ASSOC))
{
$line = ‘trtda target = _blank href=\”.$row[“url”].’\”.$row[“title”].'(‘.$row[“page_time”].’)’.’/a/td/t
r’;
echo $line;
printf(“\n”);
}
mysql_free_result($result);
?
?php
mysql_close($link);
?
原創文章,作者:QGZPW,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/325606.html