小智 60
许多php编程新手对mysql_fetch_array(),mysql_fetch_row(),mysql_fetch_assoc()和mysql_fetch_object()函数感到困惑,但所有这些函数都执行类似的过程.
让我们创建一个表"tb",用于显示三个字段"id","username"和"password"的清晰示例
表:tb
在表中插入一个新行,其值为1表示id,tobby表示用户名,tobby78 $ 2表示密码

db.php中
<?php
$query=mysql_connect("localhost","root","");
mysql_select_db("tobby",$query);
?>
Run Code Online (Sandbox Code Playgroud)
和mysql_fetch_row()
将结果行作为数字数组获取
<html>
<?php
include('db.php');
$query=mysql_query("select * from tb");
$row=mysql_fetch_row($query);
echo $row[0];
echo $row[1];
echo $row[2];
?>
</html>
Run Code Online (Sandbox Code Playgroud)
结果
1 tobby tobby78 $ 2
mysql_fetch_object()
获取结果行作为对象
<html>
<?php
include('db.php');
$query=mysql_query("select * from tb");
$row=mysql_fetch_object($query);
echo $row->id;
echo $row->username;
echo $row->password;
?>
</html>
Run Code Online (Sandbox Code Playgroud)
结果
1 tobby tobby78 $ 2
mysql_fetch_assoc()
获取结果行作为关联数组
<html>
<?php
include('db.php');
$query=mysql_query("select * from tb");
$row=mysql_fetch_assoc($query);
echo $row['id'];
echo $row['username'];
echo $row['password'];
?>
</html>
Run Code Online (Sandbox Code Playgroud)
结果
1 tobby tobby78 $ 2
mysql_fetch_array()
获取结果行作为关联数组,数字数组以及它由关联数字和数字数组提取.
<html>
<?php
include('db.php');
$query=mysql_query("select * from tb");
$row=mysql_fetch_array($query);
echo $row['id'];
echo $row['username'];
echo $row['password'];
<span style="color: #993300;">/* here both associative array and numeric array will work. */</span>
echo $row[0];
echo $row[1];
echo $row[2];
?>
</html>
Run Code Online (Sandbox Code Playgroud)
结果
1 tobby tobby78 $ 2
azi*_*ani 33
该文件是对这个很清楚,你看了吗?
mysql_fetch_array ( resource $result [, int $result_type = MYSQL_BOTH ] )
Run Code Online (Sandbox Code Playgroud)
返回与获取的行对应的字符串数组,如果没有更多行,则返回FALSE.返回数组的类型取决于result_type的定义方式.通过使用MYSQL_BOTH(默认),您将获得一个包含关联索引和数字索引的数组.使用MYSQL_ASSOC,你只获得关联索引(如mysql_fetch_assoc()工作),[by]使用MYSQL_NUM,你只获得数字索引(如mysql_fetch_row()工作).
mysql_fetch_row ( resource $result )
Run Code Online (Sandbox Code Playgroud)
返回与获取的行对应的数字字符串数组,如果没有更多行,则返回FALSE.
mysql_fetch_row()从与指定结果标识符关联的结果中提取一行数据.该行作为数组返回.每个结果列都存储在一个数组偏移量中,从偏移量0开始.
综上所述
mysql_fetch_array( $result, MYSQL_ASSOC )= mysql_fetch_assoc( $result )
mysql_fetch_array( $result, MYSQL_NUM )=mysql_fetch_row( $result )
和
mysql_fetch_array ( $result )= mysql_fetch_assoc( $result )+mysql_fetch_row( $result )
mysql_fetch_object {row/array/assoc}()函数以其各自的格式收集第一个匹配记录,并可相应地进行检索.
con.php
<?php
$host = $_GET['host'];
$username = $_GET['username'];
$pass = $_GET['pass'];
$database = $_GET['database'];
$connect=new connect($host,$username,$pass,$database);
class connect{
function __construct($host,$user,$password,$db_name){
mysql_connect($host,$user,$password) or die("Connection error");
mysql_select_db($db_name);
$error=mysql_error();
if (!empty($error))
{
echo $error;
}
}
}
?>
Run Code Online (Sandbox Code Playgroud)

的index.php
<?php
$query=mysql_query("select * from category");
?>
Run Code Online (Sandbox Code Playgroud)
在浏览器中转储数组时每个值的显示方式
mysql_fetch_array
$row=mysql_fetch_array($query);
var_dump($row);
Run Code Online (Sandbox Code Playgroud)
输出:
array
0 => string '1' (length=1)
'id' => string '1' (length=1)
1 => string '1' (length=1)
'createdBy' => string '1' (length=1)
2 => string 'APTITUDE' (length=8)
'catName' => string 'APTITUDE' (length=8)
3 => string 'APTITUDE' (length=8)
'description' => string 'APTITUDE' (length=8)
4 => string '1' (length=1)
'status' => string '1' (length=1)
Run Code Online (Sandbox Code Playgroud)
和mysql_fetch_row
$row=mysql_fetch_row($query);
var_dump($row);
Run Code Online (Sandbox Code Playgroud)
输出:
array
0 => string '1' (length=1)
1 => string '1' (length=1)
2 => string 'APTITUDE' (length=8)
3 => string 'APTITUDE' (length=8)
4 => string '1' (length=1)
Run Code Online (Sandbox Code Playgroud)
mysql_fetch_assoc
$row=mysql_fetch_assoc($query);
var_dump($row);
Run Code Online (Sandbox Code Playgroud)
输出:
array
'id' => string '1' (length=1)
'createdBy' => string '1' (length=1)
'catName' => string 'APTITUDE' (length=8)
'description' => string 'APTITUDE' (length=8)
'status' => string '1' (length=1)
Run Code Online (Sandbox Code Playgroud)
mysql_fetch_object
$row=mysql_fetch_object($query);
var_dump($row);
Run Code Online (Sandbox Code Playgroud)
输出:
object(stdClass)[2]
public 'id' => string '1' (length=1)
public 'createdBy' => string '1' (length=1)
public 'catName' => string 'APTITUDE' (length=8)
public 'description' => string 'APTITUDE' (length=8)
public 'status' => string '1' (length=1)
Run Code Online (Sandbox Code Playgroud)
Rest @Gaurang提供了如何使用out来代码和其他活动.
| 归档时间: |
|
| 查看次数: |
81313 次 |
| 最近记录: |