PHP查詢資料庫第一條資料為何不顯示?

2021-09-18 04:58:52 字數 1651 閱讀 4760

如果像下面那樣寫,則在php中查詢的資料第一條資料不顯示,從第二條開始顯示

結果:

即:此時是從第二條資料開始讀取的。

為什麼呢?

因為mysql_fetch_row 與mysql_fetch_assoc兩者都是讀取的r11的

結果集。

即:my

sqlf

etch

row先

讀取了結

果集r11的結果集。 即:mysql_fetch_row先讀取了結果集

r11的結果

集。即:

mysq

lf​e

tchr

​ow先

讀取了結

果集r11中的第一條資料,

再執行mysql_fetch_assoc就開始從第二條資料開始讀取(此時$r11結果集中的第一條資料已經被讀取,不再重複讀取)

為了驗證上邊所說的,請看下面**哦

$r1="select * from `tb_student`";//查表

$r11=mysql_query($r1,$link);//執行sql語句,返回資源型別的結果集

$x1=mysql_fetch_row($r11);//從結果集中讀取出一條資料,以索引陣列的形式返回

print_r($x1);//輸出$x1

while($row=mysql_fetch_assoc($r11))

結果:

怎樣改呢?

如果你致使想要簡單的把資料庫中所有的資料都顯示出來,則只需要將多餘的那一行刪除,即:

$x1=mysql_fetch_row($r11);
而two_two是在計算資料庫裡總共有多少條資料的時候發現的這個錯誤,

所以呢,分開寫,不要一起讀取乙個結果集

//計算表中共有多少條資料

$r_1=mysql_query("select count(*) from `tb_student`");//查詢所有記錄的行數

$r_11=mysql_fetch_row($r_1);

$c1=$r_11[0];//讀取查詢結果中的第一列數值

echo $c1;

$r1="select * from `tb_student`";//查表

$r11=mysql_query($r1,$link);//執行sql語句,返回資源型別的結果集

while($row=mysql_fetch_assoc($r11))

結果:

即:表中共有7條資料,從結果集中第一條資料開始讀取。

mongodb 分組 得到第一條資料

業務邏輯 控制器每分鐘上報採集資料,現需得到每個控制器的每種採集資料的最近一條資料 效能比較低。分組,得到每個控制器每種採集型別的離當前最近的一條記錄 private static void group if curr.createdate result.createdate string fina...

LINQ分組取出第一條資料

person1 id 1,name test1 person2 id 1,name test1 person3 id 2,name test2 以上list如果直接使用distinct方法進行過濾,仍然返回3條資料,而需要的結果是2條資料。下面給出解這個問題的方法 方法1 distinct 方法中使...

從資料庫中獲取第一條資料和使用limit分頁

select from 表名 limit 0,1 或者 select from 表名 limit 1 其中0代表從第一條資料開始 1代表往後去幾條資料 如果想獲取某錶中最大最小資料或者是第一條 最後一條 最新一條資料,使用limit也能實現 很簡單,最小就是正序 asc 取第乙個,最大就是倒序 de...