博主信息
博文 43
粉丝 3
评论 1
访问量 36431
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
MySQLi 面象对象与PDO对象基础+2018年4月26日03时35分
KongLi的博客
原创
841人浏览过
  1. 使用MySQLi 面象对象方式进行数据库连接与操作

    1-1. 操作步骤, 1.配置连接参数 2.创建连接对象 3.判断是否连接成功 4.选择默认数据库 5.设置默认编码集

        具体如下:

<?php
/**
 * Created by PhpStorm.
 * User: Administrator
 * Date: 2018/4/26
 * Time: 2:25
 */

//Mysql 面向对象方式连接数据库

//1.连接参数配置
$db_host = '127.0.0.1';
$db_user = 'root';
$db_pass = 'root';
$db_name = 'php';
$db_char = 'utf8';

//2.创建连接 对象
$conn = @new mysqli($db_host,$db_user,$db_pass);

//3.判断是否连接成功
if($conn->connect_error){
    exit('Connect Error!'.$conn->connect_errno.':'.$conn->connect_error);
}

//4.选择默认数据库
$conn->select_db($db_name);

//5.设置默认字符编码集
$conn->set_charset($db_char);

使用MySQLi 的方式并使用预处理创建对象进行更新数据:

<?php
/**
 * Created by PhpStorm.
 * User: Administrator
 * Date: 2018/4/26
 * Time: 3:02
 */

//1.连接数据库
require 'obj_conn.php';

//2.创建 sql 语句
$sql = "UPDATE staff SET salary=5500 WHERE name=?";

//3.创建预处理对象
$stmt = $conn->stmt_init();
//4.检测 stmt 预处理语句
if($stmt->prepare($sql)){
    //绑定参数
    $stmt->bind_param('s',$name);
    $name='宋青书';

}else{
    exit($stmt->errno.':'.$stmt->error);
}
//5.执行 预处理语句
$stmt->execute();

//6.执行完成判断是否成功
if($stmt->affected_rows>0){
    echo '更新成功'.$stmt->affected_rows.'条记录';
}else{
    echo '没有更新记录';
}

//6.注销 stmt 对象
$stmt->close();
//7.关闭数据库连接
mysqli_close($conn);


  1. 使用 PDO 对象方式进行数据库操作

    //PDO预处理主要使用PDOStatement对象
    //该对象是通过: $pdo->prepare()方法创建
    //读写操作都可以通过:$pdoStmt->execute()方法进行
    //预处理SQL语句句中的占位符除可以使用?号之外,还可以使用命名参数,例如:name:email...
    //下面新增数据为例进行演示,共分6步:
    //1.连接数据库,创建PDO对象
    //2.准备预处理SQL语句,占位符使用命名参数格式:
    //3.创建PDO预处理对象: PDOStatement的实例
    //4. 绑定参数到SQL语句对象,预预处理对象
    //5. 执行新增操作(PDO中,读写都用execute())
    //6. 销毁PDO对象(可选)

使用PDO对象对数据进行删除:

//1.创建PDO数据库连接对象
//简写方式 $pdo = new PDO('mysql:dbname=php', 'root', 'root');
$dsn = 'mysql:host=localhost;dbname=php;charset=utf8;port=3306'; //创建数据库连接
$pdo = new PDO($dsn,'root','root');

try{
    //创建预处理 sql 对象
    $stmt = $pdo->prepare("DELETE FROM staff WHERE name=:name");

//绑定参数到预处理语句的参数中并执行
    $stmt ->execute(['name'=>'小龙女']);

//得到受影响的行数,判断是否大于0
    if($stmt->rowCount()>0){
        echo '成功删除了'.$stmt->rowCount().'条记录';
    }else{
        echo '没有记录被删除';
    }
}catch (PDOException $e){
    echo 'Connect ERROR!'.$e->getMessage(); //抛出异常
    die(); //停止脚本执行
}

//断开 PDO 连接
$pdo=null;


批改状态:未批改

老师批语:
本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系admin@php.cn举报处理!
全部评论 文明上网理性发言,请遵守新闻评论服务协议
0条评论
作者最新博文
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号

  • 登录PHP中文网,和优秀的人一起学习!
    全站2000+教程免费学