0

我有这个问题的代码:

<?php
    include 'connection.php';

    if (oci_execute ( $stmt )) {
        //Execute cursor
        oci_execute($result);  //Or you can return the cursor.
    }


    $count=oci_num_rows($result);
    echo $count;
    if ($count != 1)
    {
    echo $count;
    echo "No record";
    }
    else
    {

   while($objResult = oci_fetch_array($result, OCI_RETURN_NULLS+OCI_ASSOC)){
   <tr>
   <td><div align="center" class="style4"><?php echo $objResult[0]; ?></div></td>
   <td><div align="center" class="style4"><?php echo $objResult[1]; ?></div></td>
   <td><div align="center" class="style4"><?php echo $objResult[2]; ?></div></td>
   <td><div align="center" class="style4"><?php echo $objResult[3]; ?></div></td>
   <td><div align="center" class="style4"><?php echo $objResult[4]; ?></div></td>
    <td><div align="center" class="style4"><?php echo $objResult[5]; ?></div></td>
     <td><div align="center" class="style4"><?php echo $objResult[6]; ?></div></td>
     <td><div align="center" class="style4"><?php echo $objResult[7]; ?></div></td>

     <td><div align="center" class="style4"><a href="updateInsForm.php?insid=<?php echo $objResult[0]; ?>">EDIT</a></div></td>
     <td><div align="center" class="style4"><a href="deleteInsForm.php?insid=<?php echo $objResult[0]; ?>">DELETE</div></td>

    <?php 
   }
   }


   oci_close($objConnect);
 ?>

问题是当我尝试输入正确的 ID 和密码时,它会将行返回为 0..为什么?

4

1 回答 1

0

问题是 num_rows 函数返回已获取的项目数,而不是执行的结果。从手册:

http://php.net/manual/en/function.oci-num-rows.php

注意:此函数不返回选择的行数!对于 SELECT 语句,此函数将返回使用 oci_fetch*() 函数提取到缓冲区的行数。

希望这可以帮助。

于 2015-10-06T23:49:45.073 回答