【发布时间】:2020-03-24 08:47:00
【问题描述】:
我是 PHP 新手。我创建了存储过程,它在不同的选项卡中显示结果,如下所示。 我只能打印“结果 1”数据,但无法打印其他选项卡数据。当我尝试打印“pid”时,我得到了 null。
index.php
$query=mysqli_query($conn,"call vaamoz_admin.spGetOutletBusinessDetails(101)");
while($row=mysqli_fetch_assoc($query))
{
$data[]=array("oid"=>$row['oid'],"bn"=>$row['bn'],"bd"=>$row['bd'],"pid"=>$row['pid']); //line 61
}
错误
Undefined index: pid in C:\nginx\www\repos\Sportaz-repo\php\getVendorById.php on line 61
结果
[{"oid":"101","bn":"Happy Junctions","bd":"Restaurant ","pid":null}]
spGetOutletBusinessDetails
CREATE PROCEDURE `spGetOutletBusinessDetails`(IN $p_nOutletId INT)
BEGIN
SELECT bc.nBusinessDetailsId AS 'oid',
bc.strBusinessName AS bn,
bc.strBusinessDescription AS bd,
o.strOutletUri AS ocp,
bc.strCreatedOn AS t,
bc.strUpdatedOn AS uo,
bc.nItemStatus AS s,
bc.nItemState AS ist,
bc.nRequestType AS rt,
$v_Rating AS r,
$v_Followers as fc
FROM tblBusinessDetails bc
inner join tbloutletcoverimage o on bc.nBusinessDetailsId = o.nBusinessDetailsId
WHERE bc.nBusinessDetailsId = $p_nOutletId AND bActive = 1;
SELECT nPackageId AS pid
FROM tblPackageAssociatedOutlets
WHERE nOutletId = $p_nOutletId;
SELECT t1.nBusinessDetailsId AS 'bid',
t1.strBusinessName AS 'strn',
t3.strLatitude AS 'blat',
t3.strLongitude AS 'blng',
t3.strAddressLineThree AS 'badd'
FROM tblBusinessDetails t1
INNER JOIN tblVendorBusinessCategory t2 on t1.nBusinessDetailsId = t2.nBusinessDetailsId
INNER JOIN tblOutletAddresses t3 on t1.nBusinessDetailsId = t3.nBusinessDetailsId
WHERE t2.nMainCategoryId=(SELECT nMainCategoryId FROM tblVendorBusinessCategory WHERE nBusinessDetailsId = $p_nOutletId) AND
t3.strPincode=(SELECT strPincode FROM tblOutletAddresses WHERE nBusinessDetailsId = $p_nOutletId)
ORDER BY t1.strBusinessName ASC;
END
【问题讨论】:
-
能否看一下存储过程代码
-
@ADyson 没问题
-
等待它给出错误“看起来您的帖子主要是代码;请添加更多详细信息。”所以我正在减少它
-
@ADyson 添加了它。请检查
-
是的,正如下面的答案所说 - 您有多个不同的结果集,因此您必须分别收集每个结果集。