所以我发现当使用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:"
并且没有错误。
答案 0 :(得分:2)
$conn
不在范围内。您必须将变量传递给函数(推荐)或使用global
关键字。
传递变量
function getRooms($conn){
// ...
}
echo getRooms($conn);
使用全球
function getRooms(){
global $conn;
// ...
}
echo getRooms();