Copy the code The code is as follows:
$link=mysql_connect('localhost','root',");
mysql_select_db('abc',$link);
$sql = " select * from book";
$result = mysql_query($sql);
while($row = mysql_fetch_row($result))
{
echo $row['cid'].'::'.$row[1] .'
';
}
$result = mysql_query($sql);
while($row = mysql_fetch_array($result))
{
echo $row['cid'].'::'.$ row[1].'
';
}
$result = mysql_query($sql);
while($row = mysql_fetch_object($result))
{
echo $row->cid.':: '.$row->title.”
”;
}
$result = mysql_query($sql);
while($row = mysql_fetch_assoc($result))
{
echo $row['cid' ].'::'.$row[1].'
';
}
?>
Analysis:
mysql_fetch_row, this function takes a row from the result set as enumeration data, specified from and Get a row of data from the result set associated with the result identifier and return it as an array. Each result column is stored in an array unit, and the offset starts from 0. Note that the offset here is from 0, which means it cannot be used. The field name can be used to get the value. You can only use the index to get the value, so the following code cannot get the value:
while($row = mysql_fetch_row($res)){
echo $row['cid'].':: '.$row[1].";
} //$row['cid'] here cannot get the value.
mysql_fetch_array, gets a row from the result set as an associative array, or a numeric array, or both. In addition to storing the data in the array as a numeric index, you can also store the data as an associative index, using the field name as the key. name. That is to say, the result he gets is like an array, and the value can be obtained using key or index, so
while($row = mysql_fetch_array($res)){
echo $row['cid'].'::'.$ row[1].";
}//Here $row['cid'], $row[1] can get the corresponding value.
mysql_fetch_object, as the name suggests, gets a row from the result set as an object, and changes the field name is an attribute. So only in this way can the value be obtained
while($row = mysql_fetch_object($res)){
echo $row->cid.'::'.$row->title."";
}
mysql_fetch_assoc, obtains a row from the result set as an associative array, which means that this function cannot use the index to get the value like mysql_fetch_row, but can only use the field name, so
while($row = mysql_fetch_assoc($res)){
echo $row['cid'].'::'.$row[1].”;
} //$row[1] cannot get the value like this
Additional point:
mysql_fetch_array function is defined like this: array mysql_fetch_array (resource result [, int result_type]), returns an array generated based on the rows obtained from the result set, or FALSE if there are no more rows.
The optional second parameter result_type in mysql_fetch_array() is a constant that can accept the following values: MYSQL_ASSOC, MYSQL_NUM and MYSQL_BOTH. Among them:
1. mysql_fetch_assoc($result)==mysql_fetch_array($result,MYSQL_ASSOC);
2. mysql_fetch_row($result)==mysql_fetch_array($result,MYSQL_NUM);
So the mysql_fetch_array() function can to some extent It is a collection of mysql_fetch_row() and mysql_fetch_assoc(). In addition, mysql_fetch_array() also has the MYSQL_BOTH parameter, which will result in an array containing both associations and numeric indexes.
Now let’s say $row = $db->fetch_array($query);
$db is the human database operation class, $db->fetch_array($query), fetch_array($query) is in that db class Method, $row = $db->fetch_array($query) means to get a row of records in the database from the recordset $query.现 If you do n’t need a class, you can implement it. 类 Copy code
The code is as follows:
$ C@MySQL_SELECT_DB ($ database, $ conn); $ Query = mysql_query ($ SQL); while ($ row = mysql_fetch_array ($query)){
$rows[]=$row;
}
The above introduces the differences between array_slice mysql_fetch_row, mysql_fetch_array, and mysql_fetch_assoc, including the content of array_slice. I hope it will be helpful to friends who are interested in PHP tutorials.