解析在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 相关文章推荐
第十三节 对象串行化 [13]
Oct 09 PHP
php下尝试使用GraphicsMagick的缩略图功能
Jan 01 PHP
PHP学习之字符串比较和查找
Apr 17 PHP
详解PHP执行定时任务的实现思路
Dec 21 PHP
Laravel路由设定和子路由设定实例分析
Mar 30 PHP
thinkPHP的表达式查询用法详解
Sep 14 PHP
PHP中SERIALIZE和JSON的序列化与反序列化操作区别分析
Oct 11 PHP
使用Yii2实现主从数据库设置
Nov 20 PHP
PHP单例模式详解及实例代码
Dec 21 PHP
php mysql数据库操作类(实例讲解)
Aug 06 PHP
PHP 实现手机端APP支付宝支付功能
Jun 07 PHP
YII2框架中ActiveDataProvider与GridView的配合使用操作示例
Mar 18 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
用Apache反向代理设置对外的WWW和文件服务器
2006/10/09 PHP
PHP和XSS跨站攻击的防范
2007/04/17 PHP
php下mysql数据库操作类(改自discuz)
2010/07/03 PHP
mod_php、FastCGI、PHP-FPM等PHP运行方式对比
2015/07/02 PHP
PHP设计模式之PHP迭代器模式讲解
2019/03/22 PHP
(转载)JavaScript中匿名函数,函数直接量和闭包
2007/05/08 Javascript
jQuery中nextAll()方法用法实例
2015/01/07 Javascript
Jquery数字上下滚动动态切换插件
2015/08/08 Javascript
javascript实现密码验证
2015/11/10 Javascript
JavaScript截取、切割字符串的技巧
2016/01/07 Javascript
NodeJS的Promise的用法解析
2016/05/05 NodeJs
JS动态给对象添加事件的简单方法
2016/07/19 Javascript
bootstrap table配置参数例子
2017/01/05 Javascript
深入理解Webpack 中路径的配置
2017/06/17 Javascript
Vue打包后出现一些map文件的解决方法
2018/02/13 Javascript
vue和webpack项目构建过程常用的npm命令详解
2018/06/15 Javascript
解决element UI 自定义传参的问题
2018/08/22 Javascript
实用的Vue开发技巧
2019/05/30 Javascript
js实现图片3D轮播效果
2019/09/21 Javascript
原生js实现日历效果
2020/03/02 Javascript
使用纯前端JavaScript实现Excel导入导出方法过程详解
2020/08/07 Javascript
Antd的Table组件嵌套Table以及选择框联动操作
2020/10/24 Javascript
[01:13]DOTA2群星解读国服召集令 一起说出回归的理由
2013/07/17 DOTA
详解Python的Django框架中的Cookie相关处理
2015/07/22 Python
Python学习小技巧之列表项的拼接
2017/05/20 Python
python实现自动发送邮件
2018/06/20 Python
Python基础之文件读取的讲解
2019/02/16 Python
Pycharm 字体大小调整设置的方法实现
2019/09/27 Python
Python安装whl文件过程图解
2020/02/18 Python
英国时尚优质的女装:Hope Fashion
2018/08/14 全球购物
电子商务专业自我鉴定
2013/12/18 职场文书
趣味体育活动方案
2014/02/08 职场文书
党的群众路线教育实践活动调研报告
2014/11/03 职场文书
单位病假条范文
2015/08/17 职场文书
《分数的意义》教学反思
2016/02/20 职场文书
解决jupyter notebook图片显示模糊和保存清晰图片的操作
2021/04/24 Python