看板 PHP 關於我們 聯絡資訊
各位好 小弟因mysql_fetch_array取出的陣列數感到疑惑 我下的SQL為 select A,B from test where C=1; 在myadmin下確實找到AB這兩個值 但是使用$X = mysql_fetch_array後 count($X) = 4 其中 $X[0] = A $X[1] = B $X[2] = 空白 $X[3] = 空白 請問搜尋兩個欄位,count後應該等於2 為什麼會等於4呢?? 而且最後兩個還是空白的 請問是哪邊錯了呢?? 感謝大大解惑... 謝謝。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 117.19.220.98
tkdmaf:當你使用mysql_fetch_array()時,會給你二種傳回陣列。 07/27 21:38
tkdmaf:一個是mysql_fetch_row()的傳回欄位順序。 07/27 21:39
tkdmaf:另一個是mysql_fetch_assoc()的以欄位名為key值。 07/27 21:39
tkdmaf:所以假設你欄位是name和sex就會變成...... 07/27 21:40
tkdmaf:$x[0],$x[1],$x['name'],$x['sex']所以是4個! 07/27 21:40
tkdmaf:也因此通常不是用row就是assoc,或者是物件的object。 07/27 21:41
tkdmaf:我個人是偏好使用mysql_fetch_object()取出來就是: 07/27 21:41
tkdmaf:$x->name,$x->sex這樣。 07/27 21:42
ptt2000:所以您建議使用object嗎? 07/27 21:45
ptt2000:row,object,array三者優劣? 07/27 21:46
ptt2000:請問使用object的話要如何知道有幾個呢? 例如count() 07/27 21:47
JoeHorn:建議您用 mysqli 或是 PDO ... 07/28 21:17
shadowjohn:pdo不錯用...把之前寫mysql的函式改一改無痛使用... 07/28 23:22