批改状态:合格
老师批语:
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()直接传参
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;
?>点击 "运行实例" 按钮查看在线实例

<?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;
?>点击 "运行实例" 按钮查看在线实例

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