mysqli和mysql以及fetch_row和fetch_array的区别

来源:互联网 发布:数据抓包工具 编辑:程序博客网 时间:2024/05/16 11:34

mysqli和mysql以及fetch_row和fetch_array的区别

标签: mysql数据库queryusersqlphp
 4049人阅读 评论(0) 收藏 举报
 分类:

一:Mysqli.dll是一个允许以对象的方式或者过程操作数据库的,它的使用方式也很容易。这里就几个常见的操作和MySQL.dll做一个对比。 
1:mysql.dll(可以理解为函数式的方式):

  $conn = mysql_connect('localhost', 'user', 'password'); //连接mysql数据库
mysql_select_db('data_base',$conn); //选择数据库

$result = mysql_query('select * from data_base');//这里有第二个可选参数,指定打开的连接

  $row = mysql_fetch_row( $result ) ) //为了简单,这里只取一行数据
echo $row[0]; //输出第一个字段的值

  mysqli也有过程式的方式,只不过开始贯以mysqli的前缀,其他都差不多。如果mysqli以过程式的方式操作的话,有些函数必须指定 资源,比如说 mysqli_query(资源标识,SQL语句),并且资源标识的参数是放在前面的,而mysql_query(SQL语句,'可选')的资源标识是放 在后面的,并且可以不指定,它默认是上一个打开的连接或资源。

  2mysqli.dll(对象方式):

  $conn = new mysqli('localhost', 'user', 'password','data_base');
//这里的连接是new出来的,最后一个参数是直接指定数据库,不用mysql_select_db()了
//也可以构造时候不指定,然后 $conn -> select_db('data_base')

  $result = $conn -> query( 'select * from data_base' );
$row = $result -> fetch_row(); //取一行数据
echo row[0]; //输出第一个字段的值

  二:mysql_fetch_row(),mysql_fetch_array()

  这两个函数,返回的都是一个数组,区别就是第一个函数返回的数组是只包含值,我们只能$row[0],
$row[1],这样以数组下标来读取数据,而mysql_fetch_array()返回的数组既包含第一种,也包含键值
对的形式,我们可以这样读取数据,(假如数据库的字段是 username,passwd):

  $row['username'], $row['passwd']

  而且,如果用($row as $kay => $value)来操作的话,还以直接取得数据库的字段名称。
更主要的是mysqli是php5提供的新函数库,(i)表示改进,其执行速度更快.

例如:

<?PHP


//连接到本地mysql数据库,选择test为操作库
$mysqli = mysqli_connect("localhost", "root", "","test", 3306);
//用mysql_query函数从user表里读取数据
$result = mysqli_query($mysqli, "SELECT * FROM userinfo");
while($row = mysqli_fetch_array($result))//通过循环读取数据内容
{
?>
<tr>
<td align="center" height="19"><?php echo $row["ID"]?></td>
<td align="center"><?php echo $row["Name"]?></td>
<td align="center"><?php echo $row["Detail"]?></td>
</tr>
<?php
}
//关闭对数据库的连接
mysqli_free_result($result);
mysqli_close($mysqli);*/
?>

0 0
原创粉丝点击