博主信息
博文 35
粉丝 0
评论 0
访问量 40694
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
PDO基本操作语法作业-2018-9-7
THPHP
原创
1161人浏览过

PDO 的优势:  

PDO 是php数据对象,PDO是php所有操作的数据库一个统一的接口。php不会识别数据库:mysql,Oracle等。却识别PDO。

PDO代码比MySQL数据库更加简洁,简化点。

1、PDO数据库连接:

实例

<?php

header('Content-type:text/html;charset=utf-8');// 设置编码
$host = 'mysql:host=127.0.0.1;name=php';
$user = 'root';
$pass = 'root';
// PDO 创建
$pdo = new PDO($host,$user,$pass);
// PDO连接判断
try{
    $pdo = new PDO($host,$user,$pass);
//    echo '<h2>连接成功</h2>';
}catch(PDOException $s){
    die('连接失败:'.$s->getMessage());
}
// 关闭连接
$pdo = null;

运行实例 »

点击 "运行实例" 按钮查看在线实例

2、PDO增加数据:

实例

<?php
header('Content-type:text/html;charset=utf-8');// 设置编码
// PDO 数据库连接
$pdo = new PDO('mysql:host=127.0.0.1;dbname=php','root','root');

// 创建预处理对象并增加数据
$stmt = $pdo->prepare("INSERT `test` SET `name`=:name,`sex`=:sex");
$stmt->execute(['name'=>'金龙1','sex'=>'男']);
echo '成功添加:'.$stmt->rowCount().'条数据';

// 关闭连接
$pdo = null;

运行实例 »

点击 "运行实例" 按钮查看在线实例

3、PDO更新数据:

实例

<?php
header('Content-type:text/html;charset=utf-8');// 设置编码
// PDO 数据库连接
$pdo = new PDO('mysql:host=127.0.0.1;dbname=php','root','root');

// 创建预处理对象并增加数据(更新id为109的数据)
$stmt = $pdo->prepare("UPDATE `test` SET `name`=:name WHERE `id`=:id");

$stmt->execute(['name'=>'金龙哈哈','id'=>'109']);
echo '成功更新:'.$stmt->rowCount().'条数据';


// 关闭连接
$pdo = null;

运行实例 »

点击 "运行实例" 按钮查看在线实例

4、PDO 删除数据:

实例

<?php
header('Content-type:text/html;charset=utf-8');// 设置编码
// PDO 数据库连接
$pdo = new PDO('mysql:host=127.0.0.1;dbname=php','root','root');

// 创建预处理对象并增加数据
$stmt = $pdo->prepare("DELETE FROM `test` WHERE `id`=:id");

$stmt->execute(['id'=>109]);
echo '成功删除:'.$stmt->rowCount().'条数据';

// 关闭连接
$pdo = null;

运行实例 »

点击 "运行实例" 按钮查看在线实例

5、PDO查询数据:

实例

<?php
header('Content-type:text/html;charset=utf-8');// 设置编码
// PDO 数据库连接
$pdo = new PDO('mysql:host=127.0.0.1;dbname=php','root','root');

// 创建预处理对象并增加数据(查询字段 为 name salary,并且字段 id为条件)
$stmt = $pdo->prepare("SELECT `name` `salary` FROM `test` WHERE `id`>:id");
// 查询 id 字段为 大于100 的数据
$stmt->execute(['id'=>100]);
while($row = $stmt->fetch(Pdo::FETCH_ASSOC)){
    echo var_export($row),'<br>';
}

// 关闭连接
$pdo = null;

运行实例 »

点击 "运行实例" 按钮查看在线实例

6、获取结果集记录数量的正确方式是什么?

采用 prepare("select count(*) from staff where salary > :salary"); 方法

实例

<?php
header('Content-type:text/html;charset=utf-8');// 设置编码
// PDO 数据库连接
$pdo = new PDO('mysql:host=127.0.0.1;dbname=php','root','root');

// 创建预处理对象
$stmt = $pdo->prepare("select count(*) from `test` where salary > :salary");
$stmt->execute(['salary'=> 20000]);
echo '大于2000的人数:'.$stmt->fetchColumn();//
// 关闭连接
$pdo = null;

运行实例 »

点击 "运行实例" 按钮查看在线实例

7、MySQLi面向对象中的查询操作:

实例

<?php
header('Content-Type:text/html;charset=utf-8');
require 'demo.php'; // 导入文件,数据库连接
// sql 查询语句
$sql = "SELECT `id`,`name`,`salary` FROM `test` WHERE `salary` >?;";
// 创建预处理对象
$stmt = $mysqli->stmt_init();

if($stmt->prepare($sql)){
    // 数据类型为 int 与salary字段绑定
    $stmt->bind_param('i',$salary);
    //    设置salary值
    $salary = 2000;
    if($stmt->execute()){
        // 获取的结果集并放在缓存区
        $stmt->store_result();
        //将结果集中的列绑定到变量上
        $stmt->bind_result($id,$name,$salary);
        if($stmt->num_rows > 0){
            while($stmt->fetch()){
                echo '<p>id:'.$id.'---姓名:' .$name.'---工资:'.$salary.'</p>';
            }
        }else{
            exit('<p>当前表中没有数据</p>');
        }
        $stmt->free_result();
    }else{
        exit($stmt->errno.':'.$stmt->error);
    }
}else{
    exit($stmt->errno.':'.$stmt->error);
}
$stmt->close();
$mysqli->close();

运行实例 »

点击 "运行实例" 按钮查看在线实例


批改状态:合格

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

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

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