解析在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 相关文章推荐
初探PHP5
Oct 09 PHP
PHP 程序授权验证开发思路
Jul 09 PHP
PHP中冒号、endif、endwhile、endfor使用介绍
Apr 28 PHP
采用header定义为文件然后readfile下载(隐藏下载地址)
Jan 31 PHP
PHP实现把MySQL数据库导出为.sql文件实例(仿PHPMyadmin导出功能)
May 10 PHP
PHP实现对文本数据库的常用操作方法实例演示
Jul 04 PHP
Laravel 5框架学习之数据库迁移(Migrations)
Apr 08 PHP
PHP的Yii框架中创建视图和渲染视图的方法详解
Mar 29 PHP
php实现替换手机号中间数字为*号及隐藏IP最后几位的方法
Nov 16 PHP
浅谈PHP发送HTTP请求的几种方式
Jul 25 PHP
php+redis消息队列实现抢购功能
Feb 08 PHP
php数组函数array_push()、array_pop()及array_shift()简单用法示例
Jan 26 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
怎么使 Mysql 数据同步
2006/10/09 PHP
新安装的MySQL数据库需要注意的安全知识
2008/07/30 PHP
php中stream(流)的用法
2014/03/25 PHP
Zend Framework框架实现类似Google搜索分页效果
2016/11/25 PHP
Javascript的IE和Firefox兼容性汇编(zz)
2007/02/02 Javascript
JavaScript 获取事件对象的注意点
2009/07/29 Javascript
ext 列表页面关于多行查询的办法
2010/03/25 Javascript
JavaScript ECMA-262-3 深入解析.第三章.this
2011/09/28 Javascript
JavaScript实现维吉尼亚(Vigenere)密码算法实例
2013/11/22 Javascript
php显示当前文件所在的文件以及文件夹所有文件以树形展开
2013/12/13 Javascript
Nodejs学习item【入门手上】
2016/05/05 NodeJs
jquery+css实现下拉列表功能
2017/09/03 jQuery
React Native react-navigation 导航使用详解
2017/12/01 Javascript
详解vue-cli项目中怎么使用mock数据
2018/05/29 Javascript
微信小程序实现tab左右切换效果
2020/11/15 Javascript
vuex页面刷新后数据丢失的方法
2019/01/17 Javascript
vue-cli3项目展示本地Markdown文件的方法
2019/06/07 Javascript
防止Layui form表单重复提交的实现方法
2019/09/10 Javascript
python中ConfigParse模块的用法
2014/09/29 Python
Python读写docx文件的方法
2018/05/08 Python
对python中dict和json的区别详解
2018/12/18 Python
python实现引用其他路径包里面的模块
2020/03/09 Python
Django怎么在admin后台注册数据库表
2020/11/14 Python
关于css中margin的值和垂直外边距重叠问题
2020/10/27 HTML / CSS
有趣的流行文化T恤、马克杯、手机壳和更多:Look Human
2019/01/07 全球购物
门诊手术室工作制度
2014/01/30 职场文书
保险公司早会主持词
2014/03/22 职场文书
企业安全生产责任书
2014/04/14 职场文书
工会优秀工作者事迹
2014/08/17 职场文书
法院干警四风问题自我剖析材料
2014/09/29 职场文书
2016关于预防职务犯罪的心得体会
2016/01/21 职场文书
Pycharm 如何设置HTML文件自动补全代码或标签
2021/05/21 Python
详解Go与PHP的语法对比
2021/05/29 PHP
Python实现简繁体转换
2021/06/07 Python
MySQL分库分表详情
2021/09/25 MySQL
golang操作rocketmq的示例代码
2022/04/06 Golang