我正在做以下事情......
$approved = oci_parse($conn_prs, "select * from patch_files where patch_reviewer = '". $_SESSION['id'] ."' and patch_status = 'Approved'"); // now rows available for current id
oci_execute($approved);
while ($row = oci_fetch_array($approved, OCI_BOTH + OCI_RETURN_NULLS )) {
var_dump($row); // shows nothing
if ($row == null) { echo "<p>None Found...</p>"; }
else { ....
不确定为什么空条件不起作用......
答案 0 :(得分:1)
您的空条件无效,因为$row
永远不会null
。 oci_fetch_array()
返回行字段的数组,或false
。如果没有行,则不会执行while
循环。
您似乎误解了OCI_RETURN_NULLS
的目的。使用时,它会为$row
中的空字段创建数组元素,如果没有行则不为空数组。
快速而肮脏的方式来做你想做的事:
$i = 0;
while ($row = oci_fetch_array($approved, OCI_BOTH + OCI_RETURN_NULLS)) {
$i++;
...
}
if ($i == 0) {
echo "<p>None Found...</p>";
}
答案 1 :(得分:0)
尝试 -
while ($row = oci_fetch_array($approved, OCI_BOTH + OCI_RETURN_NULLS )) {
var_dump($row); // shows nothing
if (empty($row)) { echo "<p>None Found...</p>"; }
else { ....
oci_fetch_array()
- 以查询的形式返回查询中的下一行。