當我使用oci_fetch_array和計數我得到22(我認爲這意味着它得到兩行)這是錯誤的應該是11(11是列數)和 當我使用oci_fetch_row我得到1這是正確的。 誰能告訴我爲什麼會發生這種情況?計數從查詢返回的行
$sql = "SELECT * FROM USERS WHERE USERNAME= :uname AND PWORD = :pword";
$stmt = oci_parse($c, $sql);
$uname=$_POST['uname'];
$pword=$_POST['pword'];
oci_bind_by_name($stmt, ":uname",$uname);
oci_bind_by_name($stmt, ":pword",$pword);
oci_execute($stmt);
$res = oci_fetch_array($stmt);
$res2 = oci_fetch_row($stmt);
$num = count($res);
$num2 = count($res2);
echo $num . "<br/>";
echo $num2 . "<br/>";
謝謝,只是發現我自己,它的工作原理,使用起來更簡單,但不明白爲什麼我得到一個正確的答案和錯誤的答案,但無論如何,再次感謝。 – clonebaby59
這應該和你的'oci_num_rows'一樣返回,但是這樣做的可怕性很低。 –
@ clonebaby59 - 我的印象是,你還沒有理解你到目前爲止的兩個答案,這兩個答案都是正確的。你的代碼沒有得到正確的答案,因爲它甚至沒有得到一個行數;這是一個列計數。 –