Rumah > pembangunan bahagian belakang > tutorial php > 请教一个调用带参数的MSSQL存储过程,返回结果集的问题

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

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
Lepaskan: 2016-06-23 13:05:28
asal
1305 orang telah melayarinya

代码如下:
if ($debug==1){echo "数据库连接成功!
";}
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中返回结果集?
网上查了相应的资料,笨了点,没弄明白如果得到想要的结果集。


回复讨论(解决方案)

$stmt->execute();
返回了什么?

PDOStatement Object ( [queryString] => call xyyh_stock_inventory ? ) 

重新修改了代码,
if ($debug==1){echo "数据库连接成功!
";}
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 "执行成功!
";}else{echo "执行不成功!
";}
}
catch(pdoexception $e){
 print '执行失败: '.$e->getMessage(); 
 exit();  
}
并执行,结果显示在 $stmt->execute()处执行  不成功

最算是找到了解决目前用的办法 
 

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();  	}	
Salin selepas log masuk


先凑合用一下

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan