2016-08-18 52 views
0

我用mysqli_num_rows()在PHP計數查詢的行,然後在Docs我讀:MySQL行數在PHP中與num_rows()是可靠的?

mysqli_num_rows的()的行爲取決於是否正在使用緩衝或無緩衝的結果集。對於未緩衝的結果集,mysqli_num_rows()將不會返回正確的行數,直到檢索結果中的所有行爲止

它們究竟意味着什麼?當查詢是無緩衝和緩衝時?

感謝。

+0

Barmar,在那個問題中有一個沒有緩衝的例子。如何緩衝?所以我會說不,它不是重複的! Van Tuan的答案是?什麼 ?我比以前更困惑... – Jackt

回答

0

返回行的在結果集中的數:

<?php 
$con=mysqli_connect("localhost","my_user","my_password","my_db"); 

檢查連接

if (mysqli_connect_errno()) 
    { 
    echo "Failed to connect to MySQL: " . mysqli_connect_error(); 
    } 

$sql="SELECT Lastname,Age FROM Persons ORDER BY Lastname"; 

if ($result=mysqli_query($con,$sql)) 
    { 

返回的行中的結果數設置

$rowcount=mysqli_num_rows($result); 
    printf("Result set has %d rows.\n",$rowcount); 

免費重新sult set

mysqli_free_result($result); 
    } 
mysqli_close($con); 
?> 
+1

這是如何回答緩衝或無緩衝結果集是否正在使用的問題? – Barmar