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 。例如我们的表基本上看起来像见下表。
name | age |
---|
Timmy Mellowman | 23 |
Sandy Smith | 21 |
Bobby Wallace | 15 |
第一行的数据在此表是“邓肯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 $row['name']. " - ". $row['age'];
echo "<br />";
}
?>
Timmy Mellowman - 23
Sandy Smith - 21
Bobby Wallace - 15