检查空行集oci_fetch_array
问题描述:
我做了以下...检查空行集oci_fetch_array
$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 { ....
不知道为什么空的条件是不工作...
答
由于$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>";
}
答
尝试 -
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()
- 将查询的下一行作为数组返回。
都能跟得上...没有工作...'var_dump'显示什么... – 2014-11-03 07:43:28
'的var_dump($行)'打印没有?? – 2014-11-03 07:45:19
var_dump($ row)什么都不打印......当有一台笔记本电脑时工作正常。有一行时, – 2014-11-03 07:45:59