解析在PHP中使用mysqli扩展库对mysql的操作


Posted in PHP onJuly 03, 2013

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、进行封装
<?
    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);
            if(!$res){
                return 0;//失败
            }else{
                if($this->mysqli->affected_rows>0){
                    return 1;//成功
                }else{
                    return 2;//没有行到影响
                }
            }
        }
    }
?>
PHP 相关文章推荐
自己前几天写的无限分类类
Feb 14 PHP
php mssql 分页SQL语句优化 持续影响
Apr 26 PHP
php skymvc 一款轻量、简单的php
Jun 28 PHP
ThinkPHP写第一个模块应用
Feb 20 PHP
PHP ? EasyUI DataGrid 资料存的方式介绍
Nov 07 PHP
深入PHP中慎用双等于(==)的详解
Jun 06 PHP
PHP中fwrite与file_put_contents性能测试代码
Aug 02 PHP
最新版本PHP 7 vs HHVM 多角度比较
Feb 14 PHP
PHP htmlentities()函数用法讲解
Feb 25 PHP
php校验公钥是否可用的实例方法
Sep 17 PHP
PHP实现简单注册登录系统
Dec 28 PHP
PHP7 字符串处理机制修改
Mar 09 PHP
PHP 文件编程综合案例-文件上传的实现
Jul 03 #PHP
Smarty foreach控制循环次数的实现详解
Jul 03 #PHP
浅析PHP绘图技术
Jul 03 #PHP
php修改NetBeans默认字体的大小
Jul 02 #PHP
PHP删除数组中特定元素的两种方法
Jul 02 #PHP
浅析php过滤html字符串,防止SQL注入的方法
Jul 02 #PHP
服务器变量 $_SERVER 的深入解析
Jul 02 #PHP
You might like
用PHP的超级变量$_POST获取HTML表单(HTML Form) 数据
2011/05/07 PHP
如何使用纯PHP实现定时器任务(Timer)
2015/07/31 PHP
php通过两层过滤获取留言内容的方法
2016/07/11 PHP
php实现的二分查找算法示例
2017/06/20 PHP
Laravel中七个非常有用但很少人知道的Carbon方法
2017/09/21 PHP
JavaScript中获取元素索引的函数
2010/09/10 Javascript
jQuery 1.5最新版本的改进细节分析
2011/01/19 Javascript
node.js中的http.response.removeHeader方法使用说明
2014/12/14 Javascript
JavaScript控制图片加载完成后调用回调函数的方法
2015/03/20 Javascript
JQuery实现样式设置、追加、移除与切换的方法
2015/06/11 Javascript
Angularjs中的事件广播 —全面解析$broadcast,$emit,$on
2016/05/17 Javascript
关于 jQuery Easyui异步加载tree的问题解析
2016/12/06 Javascript
angularjs中回车键触发某一事件的方法
2017/04/24 Javascript
详解利用jsx写vue组件的方法示例
2017/07/17 Javascript
JavaScript插件Tab选项卡效果
2017/11/14 Javascript
Vue Router的懒加载路径的解决方法
2018/06/21 Javascript
微信小程序错误this.setData报错及解决过程
2019/09/18 Javascript
原生javascript运动函数的封装示例【匀速、抛物线、多属性的运动等】
2020/02/23 Javascript
基于wxpython开发的简单gui计算器实例
2015/05/30 Python
python创建进程fork用法
2015/06/04 Python
Python下rrdtool模块的基本使用方法
2015/11/13 Python
python3 selenium 切换窗口的几种方法小结
2018/05/21 Python
Python日期时间对象转换为字符串的实例
2018/06/22 Python
python利用ffmpeg进行录制屏幕的方法
2019/01/10 Python
pytorch查看torch.Tensor和model是否在CUDA上的实例
2020/01/03 Python
tensorflow之tf.record实现存浮点数数组
2020/02/17 Python
施华洛世奇中国官网:SWAROVSKI中国
2020/06/16 全球购物
数学专业推荐信范文
2013/11/21 职场文书
吨的认识教学反思
2014/04/27 职场文书
高中毕业典礼演讲稿
2014/09/09 职场文书
党支部群众路线整改措施思想汇报
2014/10/10 职场文书
学校党的群众路线教育实践活动总结材料
2014/10/30 职场文书
平安建设汇报材料
2014/12/29 职场文书
网上祭英烈活动总结
2015/02/04 职场文书
2016年感恩教师节校园广播稿
2015/12/18 职场文书
党风廉洁教育心得体会
2016/01/20 职场文书