MySQL的mysql_fetch_array是把mysql查詢返回的數據存到一個數組中去處理
MySQL的mysql_fetch_array
MySQL的沒有取陣列功能。 mysql_fetch_array實際上是一個PHP函數,可讓您存取數據存儲在返回的結果從一個成功的mysql_query 。如果您已跳來跳去我們MySQL的教程,你將已經看到了這一功能彈出各地。
這一課將教你如何和為什麼使用mysql_fetch_array在您的PHP腳本。
mysql_fetch_array :為何使用它?
你知道什麼是當你返回使用mysql_query查詢功能, MySQL數據庫?這不是你可以直接操縱,這是肯定的。這裡是一個示例SELECT查詢表我們建立在MySQL創建表的教訓。
<?php
$result = mysql_query("SELECT * FROM example");
?>
mysql_query回報和商店到$結果是一種特殊類型的數據,這是一個MySQL的資源。附加PHP函數需要提取數據從這個資源。
一排數據
該mysql_fetch_array函數一條MySQL查詢資源作為參數( $結果) ,並傳回第一行的數據傳回的mysql_query 。例如我們的表基本上看起來像見下表。
第一行的數據在此表是“鄧肯Mellowman ”和“ 23 ” 。當我們撷取了一系列從我們的MySQL的資源$因此它應該有鄧肯的名字和年齡它。
獲得的數據行使用mysql_fetch_array
mysql_fetch_array返回的第一行中MySQL的資源形式的關聯數組。該欄目MySQL的結果可使用列名的表。在我們的表的例子有:姓名和年齡。以下是代碼,打印出的第一列MySQL的結果。
<?php
// Make a MySQL Connection
$query = "SELECT * FROM example";
$result = mysql_query($query) or die(mysql_error());
$row = mysql_fetch_array($result) or die(mysql_error());
echo $row['name']. " - ". $row['age'];
?>
這僅僅是我們預期會發生!現在,冷靜的事mysql_fetch_array是,您可以再次使用它在同MySQL的資源歸還第二,第三,第四等行。您可以隨時這樣做,直到MySQL的資源已經結束(這將是3次在我們的例子) 。
聽起來像是一個非常重復性的任務。這將是很好,如果我們能夠得到我們的所有結果從一個MySQL的資源在一個很容易做到的腳本。
撷取陣列while循環
正如我們已經說過, mysql_fetch_array函數返回一個關聯數組,但它也返回FALSE ,如果沒有更多的行返回!用一個PHP雖然環,我們可以利用此信息來我們的優勢。
如果我們把聲明“ $行= mysql_fetch_array ( ) ”作為我們的while循環的條件語句,我們將完成兩件事:
我們將得到一個新行的MySQL信息,我們可以打印出每次循環檢查,而其有條件的發言。
如果沒有更多的行的職能將返回FALSE造成while循環停止!
現在,我們知道我們需要做什麼和如何去這樣做,代碼相當寫道本身,所以讓我們進入下一課。開玩笑!以下是代碼,將打印出所有的行的MySQL的資源。
<?php
// Make a MySQL Connection
$query = "SELECT * FROM example";
$result = mysql_query($query) or die(mysql_error());
while($row = mysql_fetch_array($result)){
echo "<br />";
}
?>
Timmy Mellowman - 23
Sandy Smith - 21
Bobby Wallace - 15