簡體   English   中英

如何從存儲過程Mysql在PHP中顯示記錄

[英]how to display records in PHP from stored procedure Mysql

我用多個選擇語句創建存儲過程,如下所示:

DELIMITER $$

DROP PROCEDURE IF EXISTS `testsp` $$
CREATE DEFINER=`root`@`localhost` PROCEDURE `testsp`(

)
BEGIN
select area_id,areaname from area;
select loc_id,locname from location;
END $$

DELIMITER ;

這顯示為2個不同的結果..雖然我想在PHP中顯示不同的結果。 郵遞區號:

$res = $mysqli->query("call testsp()");
  while($row = $res->fetch_assoc())
   {
   $arr[] = $row['area_id'];
   $arr[] = $row['areaname'];
   $arr1[] = $row['loc_id'];
   $arr1[] = $row['locname'];
   }
   echo '{"users":'.json_encode($arr).'}';
   echo '{"users":'.json_encode($arr1).'}';

當我嘗試顯示$ arr1時,它顯示空值...所以如何在PHP中顯示第二個結果集。

您可以選擇使用union all組合這兩個查詢。

喜歡 :

select 1 as type, area_id as id ,areaname as name from area
union all 
select 2 as type , loc_id as id ,locname as name from location; 

另一個選擇是使用游標 ,使用游標循環到sql查詢。

然后將每個循環的結果插入到臨時表中,然后在完成循環后從該表中選擇SELECT *。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM