博客列表 >pdo连接

pdo连接

过儿的博客
过儿的博客原创
2019年02月23日 12:52:121129浏览
  1. PDO连接数据库的过程与参数设置

    $dsn = 'mysql:host=127.0.0.1;dbname=php';

    $pdo = new PDO(dsn:'数据源',username:'用户名',password:'密码');


2. 如果创建PDO预处理对象: prepare()方法

实例

$sql ='SELECT * FROM `staff` WHERE `age` > :age AND `sex` = :sex ;';
$stmt = $pdo->prepare($sql);

运行实例 »

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

3. bindParam()与bindValue()

实例

$age = 30;
$stmt->bindParam(':age', $age);//将变量绑定到模板中,使用方法bindParam()
$stmt->bindValue(':sex',1);//将数值变量直接绑定到模板中,使用方法bindValue()

运行实例 »

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

4. execute()直接传参

实例

$res = $stmt->execute(['sex'=>1]);  如果只需要绑定一个参数,可以将参数直接写在execute()方法中绑定

运行实例 »

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

5. fetch() 和 fetchAll()的区别与联系

fetchAll()查询所有信息,以二维数组形式输出

fetch()获取表中满足条件的第一条信息,并以一维数组返回,

6. bindColumn()的功能

将结果集中的字段与变量进行绑定

实例

<?php
//1、连接数据库
//创建PDO对象的过程
//参数   $pdo = new PDO(dsn:'数据源',username:'用户名',password:'密码');

$dsn = 'mysql:host=127.0.0.1;dbname=php';
$user = 'root';
$password = 'root';
try {
    $pdo = new PDO($dsn, $user, $password);
}catch(PDOException $e){
    exit('数据库连接错误'.$e->getMessage());
}

//2、操作数据库
//pdo预处理操作(将sql语句对象化)
//$sql ='SELECT * FROM `staff` WHERE `age` > :age AND `sex` = :sex ;'; SQL语句模板  :age :sex 都是命名占位符
$sql ='SELECT `id`,`name`,`position` FROM `staff` WHERE `id` BETWEEN  :start AND :stop;';
$stmt = $pdo->prepare($sql);  //$stmt:预处理对象
$res = $stmt->execute(['start'=> 2,'stop'=> 4]);
//将结果集中的字段与变量进行绑定
$stmt->bindColumn('id',$id,PDO::PARAM_INT);
$stmt->bindColumn('name',$name,PDO::PARAM_STR,30);
$stmt->bindColumn('position',$position,PDO::PARAM_STR,30);
if(true === $res){
    $result = $stmt->fetchAll(PDO ::FETCH_ASSOC);//fetchAll()查询所有信息,以二维数组形式输出 fetch()获取表中满足条件的第一条信息,并以一维数组返回,
    foreach($result as $staff){
        print_r($staff);
        echo "<br>";
    }
}


//3、关闭数据库连接
//unset($pdo);
//$pdo = null;
?>

运行实例 »

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

QQ图片20190211230718.png

实例

<?php
//1、连接数据库
//创建PDO对象的过程
//参数   $pdo = new PDO(dsn:'数据源',username:'用户名',password:'密码');

$dsn = 'mysql:host=127.0.0.1;dbname=php';
$user = 'root';
$password = 'root';
try {
    $pdo = new PDO($dsn, $user, $password);
}catch(PDOException $e){
    exit('数据库连接错误'.$e->getMessage());
}

//2、操作数据库
//pdo预处理操作(将sql语句对象化)
//$sql ='SELECT * FROM `staff` WHERE `age` > :age AND `sex` = :sex ;'; SQL语句模板  :age :sex 都是命名占位符
$sql ='SELECT * FROM `staff` WHERE `age` > :age AND `sex` = :sex ;';
$stmt = $pdo->prepare($sql);  //$stmt:预处理对象
$age = 30;
$stmt->bindParam(':age', $age);//将变量绑定到模板中,使用方法bindParam()
$sex = 1;
$stmt->bindValue(':sex',$sex);//将变量绑定到模板中,使用方法bindValue()
$res = $stmt->execute();
//$res = $stmt->execute(['sex'=>1]);  如果只需要绑定一个参数,可以将参数直接写在execute()方法中绑定
if(true === $res){
    $result = $stmt->fetchAll(PDO ::FETCH_ASSOC);//fetchAll()查询所有信息,以二维数组形式输出 fetch()获取表中满足条件的第一条信息,并以一维数组返回,
    echo "<pre>";
    print_r($result);
}


//3、关闭数据库连接
//unset($pdo);
//$pdo = null;
?>

运行实例 »

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

QQ图片20190117120816.png

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