//------------------------------
<?php
//实例化PDO类,获取PDO类的类对象
$dsn = "mysql:host=localhost;dbname=cms";
$username = "root";
$password = "root";
$pdo = new PDO($dsn,$username,$password);
var_dump($pdo);
//------------------------------
<?php
//成员方法 exec
$dsn = "mysql:host=localhost;dbname=cms";
$username = "root";
$password = "root";
$pdo = new PDO($dsn,$username,$password);
$query = "insert into cms_user
(username,password)
values
('tom','tom123')";
var_dump($pdo->exec($query));
//------------------------------
<?php
//成员方法 exec
$dsn = "mysql:host=localhost;dbname=cms";
$username = "root";
$password = "root";
$pdo = new PDO($dsn,$username,$password);
$query = "insert into cms_user
(username,password)
values
('tom','tom123')";
var_dump($pdo->exec($query));
//------------------------------
<?php
//获取上一次insert产生的id
//2、应用PDO类,
//在cms_user表中插入一条数据,获取插入数据的ID
$dsn = "mysql:host=localhost;dbname=cms";
$username = "root";
$password = "root";
$pdo = new PDO($dsn,$username,$password);
$query = "insert into cms_user
(username,password)
values
('tom1','tom123')";
var_dump($pdo->exec($query));
echo "<br/>";
echo "id:".$pdo->lastInsertId();
//------------------------------
<?php
//query
$dsn = "mysql:host=localhost;dbname=cms";
$username = "root";
$password = "root";
$pdo = new PDO($dsn,$username,$password);
$query = "select id,username,password from
cms_user";
$pdostatm = $pdo->query($query);
//3、应用PDO类,查询cms_user表,
//将表中查询到的数据输出出来。
foreach($pdostatm as $value){
//$value就是查询的每行数据内容
// value是数组 是关联和索引数组
echo $value['id'];
echo "#".$value['username'];
echo "#".$value['password'];
echo "<br/>";
}
//------------------------------
<?php
//3、应用PDO类,查询cms_user表,
//将表中查询到的数据输出出来。
// 实例化PDO类
$dsn = "mysql:host=localhost;dbname=cms";
$username = "root";
$password = "root";
$pdo = new PDO($dsn,$username,$password);
$query = "select id,username,password
from cms_user";
$statm = $pdo->query($query);
foreach($statm as $value){
echo "id=".$value['id'];
echo "username=".$value['username'];
echo "password=".$value['password'];
echo "<br/>";
}
//------------------------------
<?php
/*
* 1、应用PDO类完成向项目的数据库表cms_user
* 中更新一条数据,观察更新后的返回。
*/
$dsn = "mysql:host=localhost;dbname=cms";
$username = "root";
$password = "root";
$pdo = new PDO($dsn,$username,$password);
$id = $_GET['id'];
$query = "update cms_user set password='123'
where id='".$id."'";
echo $query;
var_dump($pdo->exec($query));
//------------------------------
<?php
//PDO准备语句
/*
* 4、应用PDO准备语句。在数据库表cms_user中更新数据,]
* 将任意一个用户的密码改为123
*/
$dsn = "mysql:host=localhost;dbname=cms";
$username = "root";
$password = "root";
$pdo = new PDO($dsn,$username,$password);
//PDO通知mysql编译sql语句,此时sql语句不执行
$query = "insert into cms_user
(username,password)
values
('jack1','123')";
$statm = $pdo->prepare($query);
//PDOSStatement通知mysql执行sql语句
var_dump($statm->execute());
//------------------------------
<?php
header("Content-Type:text/html;charset=utf-8");
//PDO准备语句
/*
* 4、应用PDO准备语句。在数据库表cms_user中更新数据, *
* 将任意一个用户的密码改为123
*/
$dsn = "mysql:host=localhost;dbname=cms";
$username = "root";
$password = "root";
$pdo = new PDO($dsn,$username,$password);
//PDO通知mysql对sql语句进行编译
$query = "update cms_user set
password='456'
where id=15";
$statm = $pdo->prepare($query);
//PDOStatment 通知mysql执行sql语句
$result = $statm->execute();
if($result){
echo "执行成功";
}else{
echo "执行失败";
}
//------------------------------
<?php
header("Content-Type:text/html;charset=utf-8");
$dsn = "mysql:host=localhost;dbname=cms";
$username = "root";
$password = "root";
$pdo = new PDO($dsn,$username,$password);
//PDO通知mysql对sql语句进行编译
$query = "update cms_user set
password=?
where id=?";
$statm = $pdo->prepare($query);
//参数绑定
$password = "789";
//1,2代表?的位置,第二个一定
$statm->bindParam(1,$password);
$id = 14;
$statm->bindParam(2,$id);
//PDOStatment 通知mysql执行sql语句
$result = $statm->execute();
if($result){
echo "执行成功";
}else{
echo "执行失败";
}
//------------------------------
<?php
header("Content-Type:text/html;charset=utf-8");
/*
* 5、应用PDO准备语句。在数据库表cms_user中更新数据。
* 将用户id用参数 ?形式指定。执行sql语句后输出执行结果。
*/
$dsn = "mysql:host=localhost;dbname=cms";
$username = "root";
$password = "root";
$pdo = new PDO($dsn,$username,$password);
//PDO通知Mysql编译sql语句
$query = "update cms_user set username='john'
where id=?";
$statm = $pdo->prepare($query);
//参数绑定
$id = 14;
$statm->bindParam(1,$id);
//PDOStatement类通知mysql执行SQL语句
$result = $statm->execute();
if($result){
echo "执行成功";
}else{
echo "执行失败";
}
//------------------------------
<?php
header("Content-Type:text/html;charset=utf-8");
$dsn = "mysql:host=localhost;dbname=cms";
$username = "root";
$password = "root";
$pdo = new PDO($dsn,$username,$password);
//PDO通知mysql对sql语句进行编译
//6、应用PDO准备语句。删除cms_user表中的一条数据,
//要求制定where条件时id为参数。
$query = "update cms_user set
password=:password
where id=:id";
$statm = $pdo->prepare($query);
//绑定参数
$password = "5678";
$statm->bindParam(":password",$password);
$id = 8;
$statm->bindParam(":id",$id);
//PDOStatment 通知mysql执行sql语句
$result = $statm->execute();
if($result){
echo "执行成功";
}else{
echo "执行失败";
}
//------------------------------
<?php
header("Content-Type:text/html;charset=utf-8");
$dsn = "mysql:host=localhost;dbname=cms";
$username = "root";
$password = "root";
$pdo = new PDO($dsn,$username,$password);
//PDO通知mysql对sql语句进行编译
//6、应用PDO准备语句。删除cms_user表中的一条数据,
//要求制定where条件时id为参数。
//PDO通知mysql编译sql语句
$query = "delete from cms_user where id=:id";
$statm = $pdo->prepare($query);
//参数绑定
$id = 9;
$statm->bindParam(":id",$id);
//执行
$result = $statm->execute();
if($result){
echo "被影响行数:".$statm->rowCount();
echo "执行成功";
}else{
echo "执行失败";
}
//------------------------------
<?php
//获取有返回结果集的sql语句操作的结果
header("Content-Type:text/html;charset=utf-8");
$dsn = "mysql:host=localhost;dbname=cms";
$username = "root";
$password = "root";
$pdo = new PDO($dsn,$username,$password);
//PDO通知mysql编译sql语句
$query = "select id,username,password from cms_user";
$statm = $pdo->prepare($query);
//执行
$statm->execute();
//获取查询的结果
var_dump($statm->fetch());
echo "<hr/>";
var_dump($statm->fetch(PDO::FETCH_BOTH));
echo "<hr/>";
var_dump($statm->fetch(PDO::FETCH_NUM));
echo "<hr/>";
var_dump($statm->fetch(PDO::FETCH_ASSOC));
echo "<br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/>";
//------------------------------
<?php
//获取有返回结果集的sql语句操作的结果
header("Content-Type:text/html;charset=utf-8");
$dsn = "mysql:host=localhost;dbname=cms";
$username = "root";
$password = "root";
$pdo = new PDO($dsn,$username,$password);
//PDO通知mysql编译sql语句
$query = "select id from cms_user";
$statm = $pdo->prepare($query);
//执行
$statm->execute();
/*
* 7、应用PDO准备语句,对cms_user表进行查询,
* 将获取的结果以关联数组返回。循环获取查询的结果。
*/
//获取查询的结果
//while($row = $statm->fetch(PDO::FETCH_ASSOC)){
var_dump($statm->fetch(PDO::FETCH_ASSOC));
//}
//------------------------------
<?php
//获取有返回结果集的sql语句操作的结果
header("Content-Type:text/html;charset=utf-8");
$dsn = "mysql:host=localhost;dbname=cms";
$username = "root";
$password = "root";
$pdo = new PDO($dsn,$username,$password);
//PDO通知mysql编译sql语句
$query = "select id from cms_user where id=:id";
$statm = $pdo->prepare($query);
//参数绑定
$id = 10;
$statm->bindParam(":id",$id);
//执行
$statm->execute();
/*
* 7、应用PDO准备语句,对cms_user表进行查询,
* 将获取的结果以关联数组返回。循环获取查询的结果。
*/
//获取查询的结果
//while($row = $statm->fetch(PDO::FETCH_ASSOC)){
var_dump($statm->fetch(PDO::FETCH_ASSOC));
//}
//------------------------------
<?php
//获取有返回结果集的sql语句操作的结果
header("Content-Type:text/html;charset=utf-8");
$dsn = "mysql:host=localhost;dbname=cms";
$username = "root";
$password = "root";
$pdo = new PDO($dsn,$username,$password);
//PDO通知mysql编译sql语句
$query = "select id from cms_user";
$statm = $pdo->prepare($query);
//执行
$statm->execute();
echo "被影响行数:".$statm->rowCount();
//------------------------------
<?php
//获取有返回结果集的sql语句操作的结果
header("Content-Type:text/html;charset=utf-8");
$dsn = "mysql:host=localhost;dbname=cms";
$username = "root";
$password = "root";
$pdo = new PDO($dsn,$username,$password);
/*
* 8、应用PDO准备语句,对cms_user表进行查询,
* 将获取的结果以关联数组返回。循环获取查询的结果。
* 将获取到的结果输出到table表格中。
* 在表格的最后输出:共**行数据
*/
//PDO通知mysql编译sql语句
$query = "select id,username,password from cms_user";
$statm = $pdo->prepare($query);
//执行
$statm->execute();
//循环获取结果
echo "<table border='1' widht='500'>";
echo "<tr><th>ID</th><th>用户名</th><th>密码</th></tr>";
while($row = $statm->fetch(PDO::FETCH_ASSOC)){
echo "<tr>";
echo "<td>".$row['id']."</td>";
echo "<td>".$row['username']."</td>";
echo "<td>".$row['password']."</td>";
echo "</tr>";
}
echo "<tr><td colspan='3'>共".$statm->rowCount()."行</td></tr>";
echo "</table>";
//事务-------------------------
<?php
header('Content-Type:text/html;charset=utf-8');
//实例化PDO类,获取PDO类的类对象
$dsn = "mysql:host=localhost;dbname=cms2";
$username = 'root';
$password = 'root';
$pdo = new PDO($dsn, $username, $password);
//关闭自动提交
$pdo->setAttribute(PDO::ATTR_AUTOCOMMIT, 0);
//开始事务
$pdo->beginTransaction();
//根据sql执行的返回结果,判断是提交还是回滚
$query = "update deel set money=money+50 where id=1";
$result_1=$pdo->exec($query);
$query = "update deel set money=money-50 where id=2";
$result_2=$pdo->exec($query);
if ($result_1 && $result_2) {
$pdo->commit();
echo '交易成功';
} else {
$pdo->rollBack();
echo '交易失败';
}
//开启自动提交
$pdo->setAttribute(PDO::ATTR_AUTOCOMMIT, 1);
PDO(php data object)+事务
最新推荐文章于 2021-04-13 13:50:12 发布