1.设置数据库配置文件及连接:config.php
<?php
//主机地址
define("DB_HOST","localhost");
//数据库用户名
define("DB_USER","root");
//数据库密码
define("DB_PASSWORD","root123");
// 数据库型号
define("DB_TYPE","mysql");
// 数据库名称
define("DB_NAME","my_user");
//数据库编码
define('DB_CHARSET', 'utf8');
//数据库端口号
define('DB_PORT', '3306');
//定义PDO的DSN,数据源名,包括主机名,端口号和数据库名称。
define('DSN', DB_TYPE.":host=".DB_HOST.";dbname=".DB_NAME.";charset=".DB_CHARSET);
try{
//连接数据款
$pdo = new PDO(DSN,DB_USER,DB_PASSWORD);
} catch(PDOException $e){
//捕捉特定于数据库信息的PDOEXCEPTION 异常
echo $e->getMessage();
} catch(Throwable $e){
//捕捉拥有Throwable接口的错误或者其他异常
echo $e->getMessage();
}
2.查询遍历:index.php
<?php
//引用文件
require "config.php";
//插入
// $sql1 = "INSERT INTO mu_user (`username`,`password`,`phone`) VALUES('营业员','654321',1865243422)";
// // exec()执行一条 UPDATE,DELETE,INSERT SQL 语句,并返回受影响的行数
// $pdo ->exec($sql1);
// // lastInsertId:返回最后插入行的ID或序列值
// $res_num= $pdo ->lastInsertId();
// if($res_num){
// echo $res_num;
// }else{
// // errorCode() — 获取跟数据库句柄上一次操作相关的 SQLSTATE码;
// echo $pdo->errorCode();
// }
//修改
// $resnum = $res_num-1;
// $uname = '营业员'.$resnum;
// $sql2 = "UPDATE mu_user SET username='".$uname."' WHERE id=".$resnum;
// $res= $pdo ->exec($sql2);
// if($res){
// echo $res;
// }else{
// // errorCode() — 获取跟数据库句柄上一次操作相关的 SQLSTATE码;
// echo $pdo->errorCode();
// }
$sql = "SELECT * FROM mu_user WHERE `username`=:username";
// prepare() — 准备要执行的语句,并返回PDOStatement语句对象
$stemt = $pdo ->prepare($sql);
$username="营业员";
// bindParam — 绑定一个参数到指定的变量名
$stemt->bindParam(":username",$username);
// execute:执行一条预处理语句
$stemt ->execute();
// fetchAll — 返回一个包含结果集中所有行的数组
$result = $stemt->fetchAll(PDO::FETCH_ASSOC);
$res_num = $stemt->rowCount();
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<style>
table{
text-align: center;
border: 1px solid #000;
}
td{
font-size: 1.5rem;
margin:5px;
border: 1px solid #000;
padding: 5px;
}
</style>
<body>
<table >
<tr>
<td>序号</td>
<td>姓名</td>
<td>电话</td>
</tr>
<?php foreach($result as $val){?>
<tr>
<td><?php echo $val['id']?></td>
<td><?php echo $val['username']?></td>
<td><?php echo $val['phone']?></td>
</tr>
<?php }?>
<tr >
<td colspan="3" ><?php echo '总计:'.$res_num."条";?></td>
</tr>
</table>
</body>
</html>
3.效果图
总结
1.不清楚用预处理插入和修改数据可不可行,尝试使用过,但没成功;如果可行的话,后面再测试;
2.不清楚为什么使用limit 预处理查询处理的数据都是空;