博客列表 >php PDO访问数据库-2019年2月22日22时

php PDO访问数据库-2019年2月22日22时

兰岚的博客
兰岚的博客原创
2019年02月24日 15:51:43760浏览

实例

<?php

$dsn = 'mysql:host=localhost;dbname=staff';// 数据源:数据库类型:主机名称;数据库名称
// 数据库主机默认localhost/127.0.0.1,可省略
$user = 'root';// 用户名
$password = 'root';// 密码
try {
    $pdo = new PDO($dsn, $user, $password);//1.创建pdo对象,连接数据库
} catch (PDOException $e) {
    exit('Connection failed:' . $e->getMessage());
}

$sql = "SELECT * FROM `user` WHERE `id` > :id";//2.SQL语句模板,查询条件的值用占位符表示
$stmt = $pdo->prepare($sql);//2.创建预处理对象
echo $stmt->queryString;// 查看生成的sql语句模板字符串

//参数绑定
//$id = 1;
//$stmt->bindValue('id',$id,PDO::PARAM_INT);//3.绑定一个变量的值,适合单次查询,支持常量,变量,字面量。必须先定义。
$stmt->bindParam('id',$id,PDO::PARAM_INT);//3.绑定一个变量的引用。
$id = 4;
// PDO::PARAM_INT 是预定义PDO常量,设置参数数据类型为整型,否则默认为字符串类型
$stmt->execute();//4.执行准备好的查询

//$result = $stmt->fetch(PDO::FETCH_ASSOC);//5.关联数组形式,返回一条记录
//$result = $stmt->fetchAll(PDO::FETCH_ASSOC);//5.关联数组形式,返回全部记录
while ($result = $stmt->fetch(PDO::FETCH_ASSOC)) {//5.关联数组形式,逐条返回记录
     echo '<pre>', print_r($result,true);  //6.不转义,原型输出
}


//======================================================
$sql = "SELECT `id`,`name`,`tel` FROM `user` WHERE `id` BETWEEN :start AND :stop";
$stmt = $pdo->prepare($sql);
$stmt->execute(['start'=>2, 'stop'=>5]);//
//bindColumn()将结果集中的列绑定到指定变量上
$stmt->bindColumn('id', $id, PDO::PARAM_INT);
$stmt->bindColumn('name', $name, PDO::PARAM_STR, 15);
$stmt->bindColumn('tel', $tel, PDO::PARAM_STR, 20);
// PDO::FETCH_BOUND: 指定获取方式,将结果集的列绑定到指定变量(可选)
while ($stmt->fetch(PDO::FETCH_BOUND)) {
    echo 'id=' . $id . ', name=' . $name . ', tel='. $tel . '<hr>';
}

$pdo = null;//7.关闭连接,可省略

运行实例 »

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


声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议