一、连接数据库:
$pdo=new PDO("mysql:dbname=person;host=localhost","root","root");
说明:
1、dbname是数据库名称;
2、host填写数据库服务器ip地址,一般(localhost);
3、上图中的两个root,分别是用户名和密码。
二、查询数据
两种方法,
1、直接查询
$sql = "select * from person where id={$id}";
$stmt = $pdo->query($sql);
$stmt->fetch(2)
//[统计数据】:统计person表有多少条数据
$num = $pdo->query("select count(*) from person");
$count = $num->fetchColumn();
echo '共有数据:【'.$count.'】条'
2、防注入查询(绑定查询)
$id=2;
$sql = "select * from person where id=:id";
$stmt = $pdo->prepare($sql);
$res=$stmt->execute([':id'=>$id]);
$res2=$res->fetchall(2);
说明:fetch用法;fetch()显示关联键名和索引键名;fetch(2)显示关联键名,fetch(3)显示索引键名
三、更新数据
//一、常规更新
$usql="update person set description='更新的数据' where id=100";
$pdo->exec($usql);
//二、绑定更新
$id=100;
$des="更新的数据";
$usql="update person set description=:des where id=:id";
$res=$pdo->prepare($usql);
$res->execute(['des'=>$des,'id'=>$id]);
$count2 = $res->rowCount();
echo $count2;
//显示影响的行数,没有任何更新返回0
三、删除操作
//1常规删除
$dsql="delete from person where id=100";
$pdo2->exec($dsql);
//2绑定删除
$id=102;
$dsql="delete from person where id=:id";
$res=$pdo2->prepare($dsql);
$res->execute(['id'=>$id]);
echo $res->rowCount();返回影响的行数
四、PDO事务操作
$pdo->beginTransaction();//开启事务处理
try{
//PDO预处理以及执行语句...
$res1=$pdo->exec("insert into person values('李四')");
$p_id=$pdo->lastInsertId();//获取插入的主键值
$res2=$pdo->exec("insert into person_concat(p_id,tel) values(".$p_id.",'0551-123456')");
if($res1&&$res2)
{//提交事务
$pdo->commit();
}
}catch(PDOException $e){
$pdo->rollBack();//事务回滚
//相关错误处理
throw $e;
}
至此整理结束,以后用到其他功能的再更新,感谢阅读!