解析在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 相关文章推荐
SMARTY学习手记
Jan 04 PHP
php中记录用户访问过的产品,在cookie记录产品id,id取得产品信息
May 04 PHP
如何阻止网站被恶意反向代理访问(防网站镜像)
Mar 18 PHP
ThinkPHP模板IF标签用法详解
Jul 01 PHP
php实现购物车功能(下)
Jan 05 PHP
浅谈PHP值mysql操作类
Jun 29 PHP
php实现连接access数据库并转txt写入的方法
Feb 08 PHP
Yii2框架实现数据库常用操作总结
Feb 08 PHP
详解PHP5.6.30与Apache2.4.x配置
Jun 02 PHP
PHP实现的激活用户注册验证邮箱功能示例
Jun 06 PHP
thinkPHP5项目中实现QQ第三方登录功能
Oct 20 PHP
PHP与Web页面的交互示例详解一
Aug 04 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实现的一个很好用HTML解析器类可用于采集数据
2013/09/23 PHP
php比较相似字符串的方法
2015/06/05 PHP
JavaScript异步调用定时方法并停止该方法实现代码
2012/03/16 Javascript
使用jquery的ajax需要注意的地方dataType的设置
2013/08/12 Javascript
用js实现in_array的方法
2013/11/05 Javascript
node.js中的fs.close方法使用说明
2014/12/17 Javascript
日常收集整理的JavaScript常用函数方法
2015/12/10 Javascript
浅谈JS正则表达式的RegExp对象和括号的使用
2016/07/28 Javascript
JavaScript中关于for循环删除数组元素内容时出现的问题
2016/11/21 Javascript
完美解决jQuery fancybox ie 无法显示关闭按钮的问题
2016/11/29 Javascript
Bootstrap源码解读表单(2)
2016/12/22 Javascript
JavaScript实现删除数组重复元素的5种常用高效算法总结
2018/01/18 Javascript
详解Vue打包优化之code spliting
2018/04/09 Javascript
讲解vue-router之什么是动态路由
2018/05/28 Javascript
vue无限轮播插件代码实例
2019/05/10 Javascript
selenium+java中用js来完成日期的修改
2019/10/31 Javascript
js利用拖放实现添加删除
2020/08/27 Javascript
python放大图片和画方格实现算法
2018/03/30 Python
python2与python3共存问题的解决方法
2018/09/18 Python
PyCharm+PySpark远程调试的环境配置的方法
2018/11/29 Python
python 操作mysql数据中fetchone()和fetchall()方式
2020/05/15 Python
用HTML5实现手机摇一摇的功能的教程
2012/10/30 HTML / CSS
HTML5页面直接调用百度地图API获取当前位置直接导航目的地的实现代码
2018/03/02 HTML / CSS
AmazeUI 点击元素显示全屏的实现
2020/08/25 HTML / CSS
购买一个高级域名:BuyDomains
2018/03/11 全球购物
最好的意大利皮夹克:D’Arienzo
2018/12/04 全球购物
澳大利亚当地社区首选的光学商店:1001 Optical
2019/08/24 全球购物
澳大利亚人信任的清洁平台,您的私人管家:Jarvis
2020/12/25 全球购物
介绍一下gcc特性
2015/10/31 面试题
销售文员的岗位职责
2013/11/20 职场文书
终端业务员岗位职责
2013/11/27 职场文书
住房公积金接收函
2014/01/09 职场文书
货车司机岗位职责
2014/03/18 职场文书
nginx 防盗链防爬虫配置详解
2021/03/31 Servers
使用Golang的channel交叉打印两个数组的操作
2021/04/29 Golang
详解CSS不定宽溢出文本适配滚动
2021/05/24 HTML / CSS