Mysqli和Mysql的几个区别

 

把PHP升级到7以后发现,自己之前做的几个连接数据库的php小网页不能用了。
原来是php7不支持mysql.dll了。

 

难得就会那么几句的数据库查,读,写。函数。
搜了一下两个的区别。把错误都改了。
其中这一篇小讲解挺好的。
尤其是【 mysqli_query(资源标识,SQL语句),并且资源标识的参数是放在前面的】 卡了半天,终于解决问题。

 

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

$conn = mysql_connect(‘localhost’, ‘user’, ‘password’); //连接mysql数据库
mysql_select_db(‘data_base’); //选择数据库
$result = mysql_query(‘select * from data_base’);//这里有第二个可选参数,指定打开的连接
$row = mysql_fetch_row( $result ) ) //为了简单,这里只取一行数据
echo $row[0]; //输出第一个字段的值

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

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)表示改进,其执行速度更快.

最新文章

Tags Cloud

blender Blizzard CentOS6.3 Dream Evernote笔记同步 Game goagent Google Hellboy漫画系列 HTML5 KB5070311 Linux lnmp Maya Movies mysql nginx php reproduce SATA mode scp SSH storyboard SwitchyOmega The Simpsons to-page wordpress 动画 大三 定格动画 挂科 每日一Bia 毕业设计 漫画 漫画日记 眼高手低 美国恐怖故事 考试 自信 色彩Color 辛普森一家 远程桌面 速写 那时我年幼 阿里云

黑历史

ADs