摘要:本章主要学习了利用PDO进行数据库的增删改查操作。通过学习,对本章知识点进行练习,代码如下:<?php require 'ComFun.php'; try { //1.连接数据库 $pdo=new PDO('mysql:host=127.0.0.1;
本章主要学习了利用PDO进行数据库的增删改查操作。通过学习,对本章知识点进行练习,代码如下:
<?php
require 'ComFun.php';
try
{
//1.连接数据库
$pdo=new PDO('mysql:host=127.0.0.1;dbname=MySql_Study;charset=utf8;','root','root');
//region 执行插入
//2.执行sql语句
$sql='INSERT INTO `users`(`LoginID`,`UserName`,`Password`,`MobilePhone`,`Sex`,`CreateTime`) VALUES(:LoginID,:UserName,:Password,:MobilePhone,:Sex,:CreateTime)';
//3.验证sql语句并生成预处理对象
$stmt=$pdo->prepare($sql);
//4.参数绑定
$LoginID='xiaom';
$UserName='小明';
$Password=sha1('123456');
$MobilePhone='15815265324';
$Sex=0;
$CreateTime=time();
$stmt->bindParam(':LoginID',$LoginID,PDO::PARAM_STR,20);
$stmt->bindParam(':UserName',$UserName,PDO::PARAM_STR,20);
$stmt->bindParam(':Password',$Password,PDO::PARAM_STR,20);
$stmt->bindParam(':MobilePhone',$MobilePhone,PDO::PARAM_STR,20);
$stmt->bindParam(':Sex',$Sex,PDO::PARAM_INT,1);
$stmt->bindParam(':CreateTime',$CreateTime,PDO::PARAM_STR,10);
//5.执行
if($stmt->execute())
{
echo '执行添加成功。新增用户:' , $UserName;
}
else
{
exit(print_r('执行添加用户出错,错误原因:' ,$stmt->errorInfo(),true));
}
//endregion
echo '<br>';
//region 执行更新 对刚刚插入的小明这一行进行更新
//2.执行sql语句
$sql="UPDATE `users` SET `CreateTime`=:CreateTime where `UserName`=:UserName";
//3.验证sql语句并生成预处理对象
$stmt=$pdo->prepare($sql);
//4.参数绑定
$UserName='小明';
$CreateTime=time();
$stmt->bindParam(':UserName',$UserName,PDO::PARAM_STR,20);
$stmt->bindParam(':CreateTime',$CreateTime,PDO::PARAM_STR,10);
//5.执行
if($stmt->execute())
{
echo '执行更新成功。更新用户:' , $UserName , '的创建时间';
}
else
{
exit(print_r('执行更新用户出错,错误原因:' ,$stmt->errorInfo(),true));
}
//endregion
echo '<br>';
//region 查询数据
//2.执行sql语句
$sql='SELECT `LoginID`,`UserName`,`MobilePhone`,`Sex`,`CreateTime` FROM users WHERE CreateTime<=:CreateTime LIMIT 20';
//3.验证sql语句并生成预处理对象
$stmt=$pdo->prepare($sql);
//4.参数绑定
$CreateTime=time();
$stmt->bindParam(':CreateTime',$CreateTime,PDO::PARAM_STR,10);
//5.执行
if($stmt->execute())
{
//将列的值保存到变量
$stmt->bindColumn('LoginID',$LoginID,PDO::PARAM_STR,20);
$stmt->bindColumn('UserName',$UserName,PDO::PARAM_STR,20);
$stmt->bindColumn('MobilePhone',$MobilePhone,PDO::PARAM_STR,11);
$stmt->bindColumn('Sex',$Sex,PDO::PARAM_INT,1);
$stmt->bindColumn('CreateTime',$CreateTime,PDO::PARAM_STR,10);
//定义空数组,用于存放最终的结果
$arrs=[];
//循环遍历,把数据存到数组
while($row=$stmt->fetch(PDO::FETCH_ASSOC))
{
//$arrs[]=['LoginID'=>$LoginID,'UserName'=>$UserName,'MobilePhone'=>$MobilePhone,'Sex'=>$Sex,'CreateTime'=>$CreateTime];
$arrs[]=$row;
}
//echo '<pre>' , var_export($arrs,true) , '</pre>';
}
else
{
exit(print_r('执行查询出错,错误原因:' , $stmt->errorInfo(),true));
}
//endregion
}
catch (PDOException $ex)
{
exit($ex->getMessage());
}
finally
{
$stmt=null;
$pdo=null;
}
?>
<style>
table,th,td {
border: 1px solid black;
padding: 10px;
}
table {
text-align: center;
border: 1px solid black;
width: 60%;
margin: 30px auto;
border-collapse: collapse;
}
table caption {
font-size: 1.5em;
font-weight: bolder;
margin-bottom: 20px;
}
th {
background-color: lightblue;
}
</style>
<table>
<caption>用户基本信息表</caption>
<tr>
<th>用户ID</th>
<th>用户名</th>
<th>手机号</th>
<th>性别</th>
<th>注册时间</th>
</tr>
<?php foreach ($arrs as $arr) : ?>
<tr>
<td><?php echo $arr['LoginID'] ?></td>
<td><?php echo $arr['UserName'] ?></td>
<td><?php echo $arr['MobilePhone'] ?></td>
<td><?php echo getSex($arr['Sex']) ?></td>
<td><?php echo date('Y-m-d H:i:s',$arr['CreateTime']) ?></td>
</tr>
<?php endforeach; ?>
</table>ComFun.php
<?php
function getSex($sex)
{
switch ($sex)
{
case 0:
return '男';
break;
case 1:
return '女';
break;
default:
return '保密';
break;
}
}效果图:

批改老师:韦小宝批改时间:2018-12-10 15:01:40
老师总结:嗯!写的很不错!PDO连接数据库是很基础的东西!越基础的东西越要牢牢掌握!课后记得多练习哦!