Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
If..else与oci和php嵌套在while循环中,但If..else不被调用_Php_Sql_Oracle_Oracle Call Interface - Fatal编程技术网

If..else与oci和php嵌套在while循环中,但If..else不被调用

If..else与oci和php嵌套在while循环中,但If..else不被调用,php,sql,oracle,oracle-call-interface,Php,Sql,Oracle,Oracle Call Interface,我试图在while循环中使用if..else。但是,当变量$objParse返回0行时,没有调用else{echo”“;}中的脚本,而是在返回行时调用了该脚本。有人能帮我吗?非常感谢 <?php while($objResult = oci_fetch_array($objParse, OCI_BOTH)) { if (oci_num_rows ($objParse)) { echo "yes"; } else { echo "No";

我试图在while循环中使用if..else。但是,当变量$objParse返回0行时,没有调用else{echo”“;}中的脚本,而是在返回行时调用了该脚本。有人能帮我吗?非常感谢

<?php
while($objResult = oci_fetch_array($objParse, OCI_BOTH)) {
    if (oci_num_rows ($objParse)) {
        echo "yes";
    } else {
        echo "No";
    }
    ?>
    <tr onmouseover="this.style.backgroundColor=&#39;#C0C0C0&#39;;this.style.cursor=&#39;pointer&#39;;" onmouseout="this.style.backgroundColor=&#39;#FFFFFF&#39;;">
        <td>
            <div align="center">
                <a href="http://s****/query/sr.php?CusID=<?=$objResult["FIELDBOOK"];?>"><font size="2.95"><b><?=$objResult["FIELDBOOK"];?></b></font>
            </div>
        </td>
        <td>
            <div align="center"><?=$objResult["PROJECT"];?></div>
        </td>
        <td>
            <div align="center"><?=$objResult["DEPT"];?></div>
        </td>
        <td>
            <div align="center"><?=$objResult["COMMUNITY"];?></div>
        </td>  
        <td>
            <div align="center"><?=$objResult["CORTE"];?></div>
        </td>
        <td align="center"><?=$objResult["PMB"];?></td>
        <td align="center"><?=$objResult["PME"];?></td>
        <td align="center"><?=$objResult["TYPE"];?></td>
        <td align="center"><?=$objResult["AREA"];?></td>
        <td align="center"><?=$objResult["OFFICESUPERVISOR"];?></td>
        <td align="center">
            <a href=http://10.56.12.59/surveys/notes/<?=$objResult["YEAR"];?>/<?=$objResult["FIELDBOOK"];?>><font size="2.8">View Folder</font></a>
        </td>
    </tr>
    <?php
}
oci_close($objConnect);


简单地说:while循环从未运行过。如果得到0个结果,将返回一个空数组/行或false。

简单地说:while循环从未运行过。如果得到0个结果,将返回一个空数组/行或false。

while($objResult=oci_fetch_数组($objParse,oci_两者))!=false){var_dump($objResult);echo“ok”;}不需要使用If-else语句,这样可以避免使用
oci_两者造成的构建数字和关联结果数组的内部开销。
。在你的例子中只需使用
OCI_ASSOC
。while($objResult=OCI_fetch_array($objParse,OCI_两者))!=false){var_dump($objResult);echo“ok”;}你不需要使用if-else语句,这样可以避免使用
OCI_两者
构建数字和关联结果数组的内部开销。在您的情况下只需使用
OCI_ASSOC
。另外,我编辑了您的html sintax,您缺少结束div标记,请小心。谢谢您的回复。您知道如果“Record Not Found”在while循环语句中返回0行,我如何回显它,因为正如您所提到的,只有当它返回行时,“while”循环语句才会继续运行脚本。添加一个计数器变量,用0初始化它,并在while循环中递增它<代码>$rowIndex=0;while(){doSomething();$rowIndex++;}$rowCount=$rowIndex;echo$rowCount我还编辑了你的html sintax,你缺少结束div标记,请小心。谢谢你的回复。您知道如果“Record Not Found”在while循环语句中返回0行,我如何回显它,因为正如您所提到的,只有当它返回行时,“while”循环语句才会继续运行脚本。添加一个计数器变量,用0初始化它,并在while循环中递增它<代码>$rowIndex=0;while(){doSomething();$rowIndex++;}$rowCount=$rowIndex;echo$rowCount