PHP mysqli扩展库与mysql用法对比
发布:smiling 来源: PHP粉丝网 添加日期:2014-10-08 14:01:40 浏览: 评论:0
本文章来给各位同学介绍在php中的两种数据库操作对比,我们常用的是mysql但php学可以支持mysqli,下面我来给大家介绍他们两的一些用法与比较.
1、在PHP中 使用mysqli扩展库对mysql 的dql操作,代码如下:
- <?php
- header("Content-type: text/html;charset=utf-8");
- //mysqli操作mysql数据库(面向对象方式)
- //1、创建MySQLi对象
- $mysqli =new MySQLi("localhost","root","root","test");
- if($mysqli->connect_error){
- die("连接失败".$mysqli->connect_error);
- }
- //2、操作数据库(发送sql)
- $sql="select *from user1";
- //3、处理结果
- $res =$mysqli->query($sql);
- //var_dump($res);
- //fetch_assoc fetch_array fetch_object
- while($row=$res->fetch_row()){
- var_dump($row);
- /* foreach($row as $val){
- echo '--'.$val;
- }
- echo '<br/>';*/
- }
- //4、关闭资源
- $res->free();
- $mysqli->close();
- ?>
下面是面向过程的,代码如下:
- <?php
- header("Content-type: text/html;charset=utf-8");
- $mysqli=mysqli_connect("localhost","root","root","test");
- if(!$mysqli){
- die("连接失败".mysqli_connect_error());
- }
- $sql="select *from user1";
- $res=mysqli_query($mysqli,$sql);
- //var_dump($res);
- while($row=mysqli_fetch_row($res)){
- foreach ($row as $val){
- echo '-'.$val;
- }
- echo '<br/>';
- }
- //释放内存
- mysqli_free_result($res);
- mysqli_close($mysqli);
- ?>
2、在PHP中 使用mysqli扩展库对mysql 的dml操作,代码如下:
- <?php
- //使用mysqli 扩展库对mysql的crud 操作
- header("Content-type: text/html;charset=utf-8");
- $mysqli = new MySQLi("localhost","root","root","test");
- if($mysqli->connect_error){
- die("连接失败".$mysql->connect_error);
- }
- //增加一条记录
- //$sql="insert into user1 (name,password,email,age) values ('lucy',md5('lucy'),'lucy@163.com',17)";
- //删除一条记录
- //$sql="delete from user1 where id =80";
- //更新一条记录
- $sql="update user1 set age=20 where id=7";
- $res=$mysqli->query($sql);
- if(!$res){
- echo "操作失败".$mysqli->error;
- }else{
- if($mysqli->affected_rows>0){
- echo "成功";
- }else{
- echo "没有行受影响";
- }
- }
- //关闭资源
- $mysqli->close();
- ?>
3、进行封装,代码如下:
- <?php
- class SqlHelper{
- private $mysqli;
- //这里先写死,以后写死的东西用一个文件来配置
- private static $host="localhost";
- private static $user="root";
- private static $pwd="root";
- private static $db="test";
- public function __construct(){
- $this->mysqli=new MySQLi(self::$host,self::$user,self::$pwd,self::$db);
- if($this->mysqli->connect_error){
- die("连接失败".$this->mysqli->connect_error);
- }
- //设置字符集
- $this->mysqli->query("set names utf8");
- }
- //dql operate
- function execute_dql($sql){
- $res =$this->mysqli->query($sql) or die($this->mysqli->error);
- return $res;
- }
- //dml operate
- function execute_dml($sql){
- $res =$this->mysqli->query($sql) or die($this->mysqli->error);
- //phpfensi.com
- if(!$res){
- return 0;//失败
- }else{
- if($this->mysqli->affected_rows>0){
- return 1;//成功
- }else{
- return 2;//没有行到影响
- }
- }
- }
- }
- ?>
Tags: mysqli扩展库 mysql用法对比
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)