【发布时间】:2017-03-09 04:28:27
【问题描述】:
您好,我正在运行一个简单的 SQL 语句来提取数据并使用 OCI_FETCH_ARRAY() 进行显示,但没有成功。 PHP 不会在 error_log 中记录任何错误,或者不显示错误消息而只显示空白页。
表定义如下:
以下是 SQL,我可以在 SQL developer 上运行以提取相关数据:
$sql="SQL Here";
运行以下 OCI_PARSE 和 OCI_EXECUTE 函数时的错误处理:
$stid = oci_parse($conn,$sql);
$error_msg_conn= oci_parse($conn,$sql);
if (!$error_msg_conn) {
$e = oci_error($conn);
echo htmlentities($e['message']);
}
$error_msg_stmt = oci_execute($stid);
if (!$error_msg_stmt) {
$e = oci_error($stid);
echo htmlentities($e['message']);
}
显示以下结果集中记录的代码:
while (($row = oci_fetch_array($stid,OCI_RETURN_NULLS+OCI_BOTH))==TRUE) {
echo "<td>".$row[0]."</td>";
echo "<td>".$row[1]."</td>";
echo "<td>".$row[2]."</td>";
echo "<td>".$row[3]."</td>";
echo "<td>".$row[4]."</td>";
echo "<td>".$row[5]."</td>";
echo "<td>".$row[6]."</td>";
echo "<td>".$row[7]."</td>";
echo "<td>".$row[8]."</td>";
echo "<td>".$row[9]."</td>";
echo "<td>".$row[10]."</td>";
echo "<td>".$row[11]."</td>";
echo "<td>".$row[12]."</td>\n";
echo "</tr>\n";
}
echo "</table>\n";
oci_free_statement($stid);
oci_close($conn);
?>
知道为什么我在 PHP 输出中看不到任何内容吗? error_log 中甚至没有错误?
谢谢。
【问题讨论】:
-
你看到任何输出了吗?
-
我只看到打印在 oci_fetch_array() 循环之外的 html 标头。没有其他的。没有任何错误。
-
你看到源代码中的开始
<table>标签了吗? -
是的,所有的 HTML 都打印得很好。奇怪的是我可以在 sql developer 上运行相同的 sql 并生成数据。此外,所有其他 php 页面都工作正常。
-
试试
while($row = oci_fetch_array($stid,OCI_BOTH)) {