第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

使用 PHP 從存儲過程中檢索多個結果集

使用 PHP 從存儲過程中檢索多個結果集

PHP
30秒到達戰(zhàn)場 2023-07-01 17:42:02
我創(chuàng)建了一個包含 4 條語句的存儲過程DELIMITER $$CREATE PROCEDURE returnFunction()BEGIN        SELECT            *         FROM            tb_1 as 1;        SELECT            *        FROM            tb_2 as 2;                    SELECT            *        FROM            tb_3 as 3;                    SELECT            *        FROM            tb_4 as 4;END;并像這樣調用這個 sp$query = "CALL returnFunction()";$p_sql = connection::conn()->prepare($query);$p_sql->execute(); do {     $rows = $p_sql->fetchAll(PDO::FETCH_NUM);     if ($rows)      {          print_r($rows);     }   } while ($p_sql->nextRowset());這將返回所有語句的結果。我需要將結果放入第一個語句并將其放入變量 $v1 第二個語句變量 $v2 第三個語句變量 $v3 第四個語句變量 $v4我怎樣才能做到這一點?
查看完整描述

2 回答

?
喵喵時光機

TA貢獻1846條經(jīng)驗 獲得超7個贊

您可以使用變量變量來動態(tài)生成變量名稱:

$query = "CALL returnFunction()";

$p_sql = connection::conn()->prepare($query);

$p_sql->execute();?

$i = 1;

do {

? ? ?$rows = $p_sql->fetchAll(PDO::FETCH_NUM);

? ? ?if ($rows)?

? ? ?{

? ? ? ? ? print_r($rows);

? ? ? ? ? ${"v$i"} = $rows;

? ? ?}

? ? ?$i++;

} while ($p_sql->nextRowset());

這會將每個非空結果集放入一個變量等中$v1。$v2但是您應該考慮只使用數(shù)組:


$query = "CALL returnFunction()";

$p_sql = connection::conn()->prepare($query);

$p_sql->execute();?

$v = array();

do {

? ? ?$rows = $p_sql->fetchAll(PDO::FETCH_NUM);

? ? ?if ($rows)?

? ? ?{

? ? ? ? ? print_r($rows);

? ? ? ? ? $v[] = $rows;

? ? ?}

} while ($p_sql->nextRowset());

請注意,如果您也想存儲空結果集,請將賦值移到塊之外if。


查看完整回答
反對 回復 2023-07-01
?
忽然笑

TA貢獻1806條經(jīng)驗 獲得超5個贊

您可以使用像下面這樣的 union 并輸出 v1,v2,v3,v4,然后將它們分配給您的變量


SELECT MAX(v1) as v1,MAX(v2) as v2,MAX(v3) as v3,MAX(v4) as v4

FROM

(       

SELECT 1.x AS v1,NULL  AS v2,NULL AS v3, NULL AS v4 

FROM tb_1 AS 1

UNION ALL

SELECT NULL AS v2,2.x  AS v2,NULL AS v3, NULL AS v4

FROM tb_2 AS 2

UNION ALL    

SELECT NULL AS v2,NULL AS v2,3.x AS v3, NULL AS v4

FROM tb_3 AS 3

UNION ALL    

SELECT NULL AS v2,NULL AS v2,NULL AS v3, 4.x AS v4

FROM tb_4 AS 4

) A


查看完整回答
反對 回復 2023-07-01
  • 2 回答
  • 0 關注
  • 170 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號