我有一个简单的PHP编码,该编码从我的Oracle数据库中的特定表中获取数据。它在从PHP表单上的表中输出数据方面工作正常,但是我注意到的一件事是我的error_reporting函数调用了几个相同的错误,表明表中存在未知索引。
我的代码:
<?php
include("ConnectionCode.php");
error_reporting(E_ALL);
$sql = 'SELECT * FROM ROVER';
$stid = oci_parse($conn, $sql);
oci_execute($stid);
echo "<table border='1'>";
echo "<tr> <th>Rover ID</th> <th>Rover Name</th> <th>Launch_Date</th>
<th>Arrival_Date</th> <th>Manufacturer</th> </tr>";
while($row= oci_fetch_array($stid, OCI_ASSOC))
{
echo "<tr>";
echo "<td>" . $row ['ROVER_ID'] . "</td>";
echo "<td>" . $row ['ROVER_NAME'] . "</td>";
echo "<td>" . $row ['LAUNCH_DATE'] . "</td>";
echo "<td>" . $row ['ARRIVAL_DATE'] . "</td>";
echo "<td>" . $row ['MANUFACTURER'] . "</td>";
echo "</tr>";
}
echo "</table>";
oci_free_statement($stid);
oci_close($conn);
?>
我做出了逻辑上的假设,即这些索引是由于表的某些字段中存在的零值引起的。但是我的问题主要是这样,在代码中我可以做任何解决此问题的方法吗?还是真的不是问题?
手册提到:
mode
:可选的第二个参数可以是任何组合 以下常数:[...]
OCI_RETURN_NULLS
:为NULL
字段创建元素。这 元素值将是PHPNULL
。
我对OCI接口并不熟悉,但是这里的含义似乎是,默认情况下省略了NULL
字段,但是您可以通过明确设置该标志来返回它们:
while ($row = oci_fetch_array($stid, OCI_ASSOC + OCI_RETURN_NULLS))