PHP可以通过MySQL 函数访问 MySQL 数据库服务器
但是此扩展自 PHP 5.5.0 起已废弃,并在将来会被移除,而使用 MySQLi 或 PDO_MySQL 扩展来替换之。
如果要使用Mysql函数,首先需要在 php.ini 中激活 php_mysql.dll 动态连接库
在使用mysql_query()取得查询数据库结果时,返回的是一个资源,想要对资源进行操作就需要用fetch方法取得资源数组。如对这个数据库进行查询
1、mysql_fetch_row()
mysql_fetch_row每次从执行从结果集中取出一条数据并以索引数组的形式返回,数组的索引对应查询时字段的顺序
例如select *查询所有字段,则返回结果$row[0]对应number字段,$row[3]对应job字段
对数组的操作只能采用数字索引,当取到最后一条结果后,下一条返回空(false)
//数据库连接
$host = 'localhost';
$user = 'root';
$pass = '1234';
$link = mysql_connect($host, $user, $pass);
mysql_select_db('phpdemo');
mysql_query("set names 'utf8'");
//数据库查询
$sql='select * from staff';
$result=mysql_query($sql);
$row=mysql_fetch_row($result);
echo '<pre>';
print_r($row);
echo '</pre>';
echo $row[1].'的性别:'.$row[2].',职位:'.$row[3].'<br/>';
执行结果为:
2、mysql_fetch_assoc()
mysql_fetch_assoc返回关联数组,数组索引对应字段的关键字,对数组的操作只能采用关键字
$row2=mysql_fetch_assoc($result);
echo '<pre>';
print_r($row2);
echo '</pre>';
echo '名字为:'.$row2['name'];
结果如下:
3、mysql_fetch_array()
mysql_fetch_array默认返回索引与关联数组,对数组操作可用采用数字索引或关键字
其第二个参数可选:MYSQL_NUM(只返回索引数组),MYSQL_ASSOC(只返回关联数组)
$row3=mysql_fetch_array($result);
echo '<pre>';
print_r($row3);
echo '</pre>';
结果如下:
4、mysql_fetch_object()
mysql_fetch_object返回一个数组对象,以对象属性的方式操作数据
$row4=mysql_fetch_object($result);
echo '<pre>';
print_r($row4);
echo '</pre>';
echo '名字为:'.$row4->name;
结果如下:
四种方式最主要的区别是返回数组的形式不同,在实际编程中可用按需要进行选择。