请教一个调用带参数的MSSQL存储过程,返回结果集的问题

stdmis 2016-05-14 03:46:27
代码如下:
if ($debug==1){echo "数据库连接成功!<br>";}
try{
$db->exec("SET names GB2312");
$stmt = $db->execute("call xyyh_stock_inventory 'R99.33569-0000-00'");
// $stmt->bindParam(1, $FNumber);
// 调用存储过程
$stmt->execute();
}
catch(pdoexception $e){
print '执行失败: '.$e->getMessage();
exit();
}
我调 用的MSSQL存储过程已调试好,在SQL的查询分析中可以返回想到的结果,请教如何写代码过能在PHP中返回结果集?
网上查了相应的资料,笨了点,没弄明白如果得到想要的结果集。
...全文
211 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
stdmis 2016-05-20
  • 打赏
  • 举报
回复
最算是找到了解决目前用的办法
if ($debug==1){echo "数据库连接成功!<br>";}	
	try{
		$stmt = $db->prepare('exec xyyh_stock_trantype_1_24 ?');
		$stmt->bindParam(1,$FNumber);
		$stmt->execute();
		if ($debug==1){ print_r($stmt);echo "<br>";}	
		$i=1;
		
		echo "<table class='hovertable'><tr><th>日期</th><th>单据编码</th><th>物料编码</th><th>物料名称</th><th>计量单位</th><th>业务类型</th><th>异动数量</th></tr>";
		do {
			$rowset = $stmt->fetchall(PDO::FETCH_ASSOC);
			if ($rowset){				
				if ($debug==1){print_r($rowset);echo "<br>";}
				if ($debug==1){print_r($rowset[$i]);echo "<br>";}
				
				foreach ($rowset as $row) {
					echo "<tr>";
					echo "<td>".$row["FDate"]."</td><td>".$row["FBillNo"]."</td><td>".$row["FNumber"]."</td><td>".$row["FName"]."</td><td>".$row["FUnitName"]."</td><td>".$row["FTranType"]."</td><td>".$row["FQty"]."</td>";
					echo "</tr>";	
				}			
			}
			$i++;
		} while ($stmt->nextRowset());
		echo "</table>";
	}	
	catch(pdoexception $e){
		print '执行失败: '.$e->getMessage(); 
		exit();  
	}	
先凑合用一下
stdmis 2016-05-16
  • 打赏
  • 举报
回复
PDOStatement Object ( [queryString] => call xyyh_stock_inventory ? )
stdmis 2016-05-16
  • 打赏
  • 举报
回复
重新修改了代码, if ($debug==1){echo "数据库连接成功!<br>";} try{ $db->exec("SET names GB2312"); $stmt=$db->prepare("call xyyh_stock_inventory :FNumber"); $stmt->bindParam(":FNumber", $FNumber, PDO::PARAM_STR); if ($stmt->execute()){echo "执行成功!<br>";}else{echo "执行不成功!<br>";} } catch(pdoexception $e){ print '执行失败: '.$e->getMessage(); exit(); } 并执行,结果显示在 $stmt->execute()处执行 不成功
傲雪星枫 2016-05-14
  • 打赏
  • 举报
回复
$stmt->execute(); 返回了什么?

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧