解析在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 相关文章推荐
用PHP实现ODBC数据分页显示一例
Oct 09 PHP
php图片验证码代码
Mar 27 PHP
php5.3不能连接mssql数据库的解决方法
Dec 27 PHP
php返回相对时间(如:20分钟前,3天前)的方法
Apr 14 PHP
php获取指定(访客)IP所有信息(地址、邮政编码、国家、经纬度等)的方法
Jul 06 PHP
php关键字仅替换一次的实现函数
Oct 29 PHP
简单的pgsql pdo php操作类实现代码
Aug 25 PHP
PHP开发APP端微信支付功能
Feb 17 PHP
php中bind_param()函数用法分析
Mar 28 PHP
golang实现php里的serialize()和unserialize()序列和反序列方法详解
Oct 30 PHP
thinkPHP5.1框架使用SemanticUI实现分页功能示例
Aug 03 PHP
PHP单元测试配置与使用方法详解
Dec 27 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的论坛(2)
2006/10/09 PHP
无法在发生错误时创建会话,请检查 PHP 或网站服务器日志,并正确配置 PHP 安装最快的解决办法
2010/08/01 PHP
PHP面向对象学习笔记之二 生成对象的设计模式
2012/10/06 PHP
php防止SQL注入详解及防范
2013/11/12 PHP
PHP实现将HTML5中Canvas图像保存到服务器的方法
2014/11/28 PHP
PHP中使用xmlreader读取xml数据示例
2014/12/29 PHP
PHP中生成UUID自定义函数分享
2015/06/10 PHP
Javascript中的常见排序算法
2007/03/27 Javascript
jQuery中ready事件用法实例
2015/01/19 Javascript
基于jQuery实现文本框只能输入数字(小数、整数)
2016/01/14 Javascript
JavaScript 2048 游戏实例代码(简单易懂)
2016/03/25 Javascript
jquery获取复选框checkbox的值实现方法
2016/05/30 Javascript
浅谈javascript基础之客户端事件驱动
2016/06/10 Javascript
解析利用javascript如何判断一个数为素数
2016/12/08 Javascript
基于JS设计12306登录页面
2016/12/28 Javascript
js实现消息滚动效果
2017/01/18 Javascript
JavaScript实现树的遍历算法示例【广度优先与深度优先】
2017/10/26 Javascript
JS函数内部属性之arguments和this实例解析
2018/10/07 Javascript
vue iview多张图片大图预览、缩放翻转
2019/07/13 Javascript
node.js中stream流中可读流和可写流的实现与使用方法实例分析
2020/02/13 Javascript
JavaScript将数组转换为链表的方法
2020/02/16 Javascript
Python实现动态添加类的属性或成员函数的解决方法
2014/07/16 Python
python爬虫入门教程之点点美女图片爬虫代码分享
2014/09/02 Python
python之当你发现QTimer不能用时的解决方法
2019/06/21 Python
python 定时器每天就执行一次的实现代码
2019/08/14 Python
Python基于Socket实现简单聊天室
2020/02/17 Python
Windows下Anaconda安装、换源与更新的方法
2020/04/17 Python
在Python中字典按值排序的实现方法
2020/11/12 Python
Html5移动端获奖无缝滚动动画实现示例
2018/06/25 HTML / CSS
Europcar英国:英国汽车和货车租赁
2017/01/21 全球购物
诚信考试倡议书
2014/04/15 职场文书
怀念母亲教学反思
2014/04/28 职场文书
2015年村计划生育工作总结
2015/04/28 职场文书
手术室消毒隔离制度
2015/08/05 职场文书
幼儿园教师暑期培训心得体会
2016/01/09 职场文书
《观潮》教学反思
2016/02/17 职场文书