Php 检查oci_fetch_数组中是否存在空行集
我正在做以下事情Php 检查oci_fetch_数组中是否存在空行集,php,oracle-call-interface,Php,Oracle Call Interface,我正在做以下事情 $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,
$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 { ....
$approved=oci\u parse($conn\u prs,“从修补程序文件中选择*,其中修补程序审阅者=”。$\u会话['id']。“'和修补程序状态='approved');//现在,行可用于当前id
保监处执行(已批准);
而($row=oci\u fetch\u数组($approved,oci\u BOTH+oci\u RETURN\u NULLS)){
var_dump($row);//不显示任何内容
如果($row==null){echo“未找到任何…”;}
否则{。。。。
不确定空条件不起作用的原因…请尝试-
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 { ....
while($row=oci\u fetch\u数组($approved,oci\u BOTH+oci\u RETURN\u NULLS)){
var_dump($row);//不显示任何内容
如果(空($row)){echo“未找到任何…”;}
否则{。。。。
oci\u fetch\u array()
将查询中的下一行作为数组返回。您的空条件不起作用,因为$row
从不为null
oci\u fetch\u array()
将返回行字段的数组,或者false
。如果没有行,则不会执行循环
您似乎误解了OCI\u RETURN\u NULLS
的用途。使用时,它会为$row
中的空字段创建数组元素,如果没有行,则不会创建空数组
做你想做的事的一种快速而肮脏的方式是:
$i = 0;
while ($row = oci_fetch_array($approved, OCI_BOTH + OCI_RETURN_NULLS)) {
$i++;
...
}
if ($i == 0) {
echo "<p>None Found...</p>";
}
$i=0;
而($row=oci\u fetch\u数组($approved,oci\u BOTH+oci\u RETURN\u NULLS)){
$i++;
...
}
如果($i==0){
回显“未找到…””;
}
var\u dump($row)
不打印任何内容??var\u dump($row)不打印任何内容……在有笔记本电脑时工作正常。