解析在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 相关文章推荐
MYSQL数据库初学者使用指南
Nov 16 PHP
PHP 类型转换函数intval
Jun 20 PHP
php中通过Ajax如何实现异步文件上传的代码实例
May 07 PHP
php共享内存段示例分享
Jan 20 PHP
php实现的Timer页面运行时间监测类
Sep 24 PHP
PHP中is_file()函数使用指南
May 08 PHP
关于扩展 Laravel 默认 Session 中间件导致的 Session 写入失效问题分析
Jan 08 PHP
PHP的swoole扩展安装方法详细教程
May 18 PHP
php实现网页端验证码功能
Jul 11 PHP
微信公众号实现扫码获取微信用户信息(网页授权)
Apr 09 PHP
php设计模式之观察者模式定义与用法经典示例
Sep 19 PHP
Laravel框架实现定时Task Scheduling例子
Oct 22 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
syphon 虹吸式咖啡冲泡冲煮倒水的得与失
2021/03/03 冲泡冲煮
PHP代码优化的53个细节
2014/03/03 PHP
PHP实现将标点符号正则替换为空格的方法
2017/08/09 PHP
简单三步,搞掂内存泄漏
2007/03/10 Javascript
用jquery ajax获取网站Alexa排名的代码
2009/12/12 Javascript
用jquery实现学校的校历(asp.net+jquery ui 1.72)
2010/01/01 Javascript
Extjs TriggerField在弹出窗口显示不出问题的解决方法
2010/01/08 Javascript
2种jQuery 实现刮刮卡效果
2015/02/01 Javascript
jQuery实现Flash效果上下翻动的中英文导航菜单代码
2015/09/22 Javascript
Bootstrap编写一个兼容主流浏览器的受众门户式风格页面
2016/07/01 Javascript
bootstrap表单示例代码分享
2017/05/18 Javascript
使用react render props实现倒计时的示例代码
2018/12/06 Javascript
js的继承方法小结(prototype、call、apply)(推荐)
2019/04/17 Javascript
Python3读取UTF-8文件及统计文件行数的方法
2015/05/22 Python
Python爬虫实现爬取京东手机页面的图片(实例代码)
2017/11/30 Python
Python matplotlib通过plt.scatter画空心圆标记出特定的点方法
2018/12/13 Python
python如何实现数据的线性拟合
2019/07/19 Python
python通过文本在一个图中画多条线的实例
2020/02/21 Python
python函数调用,循环,列表复制实例
2020/05/03 Python
python map比for循环快在哪
2020/09/21 Python
matplotlib绘制鼠标的十字光标的实现(内置方式)
2021/01/06 Python
Vans(范斯)新西兰官方网站:美国原创极限运动品牌
2020/09/19 全球购物
报关简历自我评价怎么写
2013/09/19 职场文书
土木工程专业大学毕业生求职信
2013/10/13 职场文书
初中音乐教学反思
2014/01/12 职场文书
关于毕业的中学校园广播稿
2014/01/26 职场文书
党的群众路线教育实践活动制度建设计划方案
2014/10/31 职场文书
幼儿园开学通知
2015/04/24 职场文书
教师工作证明范本
2015/06/12 职场文书
售房协议书范本
2015/08/11 职场文书
2016公司新年问候语
2015/11/11 职场文书
那些美到让人窒息的诗句,值得你收藏!
2019/08/20 职场文书
详解Html5项目适配系统深色模式方案总结
2021/04/14 HTML / CSS
JavaScript事件的委托(代理)的用法示例详解
2022/02/18 Javascript
vue实现拖拽交换位置
2022/04/07 Vue.js
Nginx开源可视化配置工具NginxConfig使用教程
2022/06/21 Servers