2013-05-16 291 views
0

我有這個問題的代碼:爲什麼oci_num_rows總是返回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..why?

+2

您的$ stmt定義在哪裏?它的價值是什麼? –

+0

什麼'oci_execute($ stmt)'做? – Voitcus

+0

ohh我跳過查詢的代碼..它是$結果 – user2234937

回答

0

問題是,num_rows函數返回的是取得的項目數量,而不是執行的結果。從手動:

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

注: 此函數不返回選定的行數!對於SELECT語句,此函數將返回使用oci_fetch *()函數提取到緩衝區的行數。

希望這會有所幫助。

相關問題