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 に答える