说php有三种方式来操作我们的mysql数据库
① mysql扩展库
② mysqli扩展库
③ pdo
mysql扩展库:
<?php
//连接
$link = mysql_connect('localhost', 'root', '123456');
if (!$link) {
die('Could not connect: ' . mysql_error());
}
echo 'Connected successfully';
//选择数据库
mysql_select_db("webtest");
//设置操作编码
mysql_query("set name utf-8");
//发送指令
$sql="select * from login";
$res=mysql_query($sql,$link);
var_dump($res);
//接收返回的结果。并处理
while($row=mysql_fetch_row($res)){
echo "<br/>$row[1]---$row[0]";
}
//释放资源,关闭连接
mysql_free_result($res);
mysql_close($link);
?>
mysqli扩展库:
简单介绍:
mysqli (mysql improve mysql扩展库的增强版)
mysql 扩展库 和 mysqli 扩展库的比较
1. mysqli 的稳定性和安全性,效率有所提高
2. mysqi 支持面向对象编程 ,同时 mysqli 扩展库考虑到php老程序员,提供面向过程的编程风格.
<?php
/*mysqli操作mysql数据库*/
//创建数据mysqli对象
$mysqli=new MYSQLi("localhost","root","123456","webtest");
//操作数据库
if($mysqli->connect_error){
die("failure".$mysqli->connect_error);
}else{
echo "OK";
}
//处理结果
$sql="select * from login";
$res=$mysqli->query($sql);e
while ($row=$res->fetch_row()) {
echo "<br/>$row[1]---$row[0]";
echo "<br/>";
}
//关闭资源
$res->free();
$mysqli->close();
?>
细说:
在mysqli 扩展中,也提供了四种方式来获取mysqli result结果集mysqli_result::fetch_assoc <==> mysql_fetch_assoc
mysqli_result::fetch_row <==> mysql_fetch_row
mysqli_result::fetch_array <===> mysql_fetch_array
mysqli_result::fetch_object<===> mysql_fetch_object
这里我们推荐大家使用前两种效率较高
在mysqli释放结果集有三种方式:
void mysqli_result::free ( void )
void mysqli_result::close ( void )
void mysqli_result::free_result ( void )
接收时的细节问题:
细节 :
1. 使用完 $res 结果集后,一定要及时的释放资源.
2. mysql_close() 如果没有的话,系统也会自动的关闭
3. 从$res获取行数据的时候,处理 mysql_fetch_row($res),还有三个方法.
分别是:
mysql_fetch_row($res) ,返回一个索引的数组 (推荐.)
mysql_fetch_assoc($res) ,返回一个关联数组
mysql_fetch_array($res) ,返回索引数组和关联数组 (两套)
mysql_fetch_object($res) ,把一行数据,当做一个对象返回.