Php 为什么oci_num_行总是返回0值?
我有这个问题的代码:Php 为什么oci_num_行总是返回0值?,php,oracle,Php,Oracle,我有这个问题的代码: <?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
<?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);
?>
问题是num_rows函数返回已获取的项目数,而不是执行的结果。从手册中:
注:
此函数不返回选定的行数!对于SELECT语句,此函数将返回使用oci_fetch*()函数提取到缓冲区的行数
希望这有帮助。您的$stmt定义在哪里?它的值是多少?oci_execute($stmt)
做什么?哦,我跳过了查询的代码。。它位于$results上。您是否已查阅oci手册*您的代码与获取结果的示例不匹配。参见示例#5$stmt=oci\u parse($conn,$sql);oci_执行($stmt)$计数=oci_num_行($stmt)代码>