【发布时间】:2013-06-24 22:48:05
【问题描述】:
所以我发现当使用 db2 sql 在 php 函数中时,它不会返回任何值。
在DB2_PREPARE($conn, $sql2); 上失败
就好像您在函数之外执行此代码一样,它可以完美地完成工作并返回所有结果。
代码:
function getRooms(){
$sql2 = ("SELECT * FROM WS_ASSETS_rooms");
$stmt2 = db2_prepare($conn, $sql2);
if ($stmt2) {
$result2 = db2_execute($stmt2);
if (!$result2) {
return "exec errormsg: " .db2_stmt_errormsg($stmt2);
}
while ($row = db2_fetch_array($stmt2)) {
echo "$row[1]";
}
} else {
return "exec errormsg: " .db2_stmt_errormsg($stmt2);
}
};
echo getRooms();
这将返回 "exec errormsg:" 并且没有错误。
【问题讨论】:
-
$conn 在哪里定义和分配?是否在函数范围内
-
检查一下,我认为
db2_prepare函数或$conn在函数中没有作用域。 -
谢谢,$conn 不在范围内。不敢相信我错过了!