PDO操作
pdo连接
//这两个方法不再用:
// php mysql 5.4以下版本
// php mysqli 5.4以上版本
//
//主流方法:
// PDO是php data object 的简写 php数据对象
//PDO支持不同类型的数据库。PDO是最方便访问数据库的接口
//
//PDO连接
//$pdo= new PDO(‘mysql:host=localhost;dbname=shujuku’,’root123’,’root123’);
//print_r($pdo);
//数据库连接参数
$db=[
‘type’=>’mysql’,
‘host’=>’localhost’,
‘dbname’=>’shujuku’,
‘username’=>’root123’,
‘password’=>’root123’
];
$dsn=”{$db[‘type’]}:host={$db[‘host’]};dbname={$db[‘dbname’]}”;
//echo $dsn;
//echo ‘<hr>‘;
//$pdo = new PDO($dsn,$db[‘username’],$db[‘password’]);
//
//print_r($pdo);
//echo’<hr>‘;
//连接数据库
try{
$pdo = new PDO($dsn,$db[‘username’],$db[‘password’]);
}
catch (PDOException $e) {
die(‘错误信息:’. $e->getMessage());
}
//print_r($pdo);
//PDO、是PHP系统中的类,我们在自己的php文件里是看不到代码的,只能通过打印查看
增
<?php
require ‘connect.php’;
//========================================================================
//创建SQL语句模板,相当于占位,用来接收值
$sql = ‘INSERT INTO category
SET name
=:name , alias
=:alias’;
//预处理
$stmt = $pdo ->prepare($sql);
//echo’<hr>‘;
//print_r($stmt) ;
//echo’<hr>‘;
$name=’els’;
$alias=’俄罗斯’;
$stmt->bindParam(‘name’,$name,PDO::PARAM_STR);
$stmt->bindParam(‘alias’,$alias,PDO::PARAM_STR);
//========================================================================
//PDOStatement类对增删查改进行操作
$caozuo = $stmt ->execute();
if ($caozuo){
$count = $stmt -> rowCount();
if ($count>0){
echo’插入成功’;}
else{
echo’插入失败’;
}
}
else{
die(print_r($stmt->errorInfo(),true));
}
//类连接,是一直连接的,在执行完代码之后,自动释放,但是代码特别长的情况下,用代码释放。
//unset($add);
//unset($pdo);
$pdo=null;
print_r($pdo);
删
<?php
require ‘connect.php’;
//========================================================================
$sql = ‘DELETE FROM category
WHERE cate_id
=:cate_id’;
$stmt = $pdo ->prepare($sql);
$cate_id=11;
$stmt->bindParam(‘cate_id’,$cate_id,PDO::PARAM_STR);
//========================================================================
//PDOStatement类对增删查改进行操作
$caozuo = $stmt ->execute();
if ($caozuo){
$count = $stmt -> rowCount();
if ($count>0){
echo’删除成功’;}
else{
echo’删除失败’;
}
}
else{
die(print_r($stmt->errorInfo(),true));
}
//类连接,是一直连接的,在执行完代码之后,自动释放,但是代码特别长的情况下,用代码释放。
//unset($add);
//unset($pdo);
$pdo=null;
print_r($pdo);
改
<?php
require ‘connect.php’;
//========================================================================
//创建SQL语句模板,相当于占位,用来接收值
$sql= ‘UPDATE category
SET name
=:name,alias
=:alias WHERE cate_id
=:id’;
//预处理
$stmt = $pdo ->prepare($sql);
//echo’<hr>‘;
//print_r($stmt) ;
//echo’<hr>‘;
$id=9;
$name=’mlxy’;
$alias=’马来西亚’;
$stmt->bindParam(‘id’,$id,PDO::PARAM_STR);
$stmt->bindParam(‘name’,$name,PDO::PARAM_STR);
$stmt->bindParam(‘alias’,$alias,PDO::PARAM_STR);
//========================================================================
//PDOStatement类对增删查改进行操作
$caozuo = $stmt ->execute();
if ($caozuo){
$count = $stmt -> rowCount();
if ($count>0){
echo’修改成功’;}
else{
echo’修改失败’;
}
}
else{
die(print_r($stmt->errorInfo(),true));
}
//类连接,是一直连接的,在执行完代码之后,自动释放,但是代码特别长的情况下,用代码释放。
//unset($add);
//unset($pdo);
$pdo=null;
print_r($pdo);
查
<?php
require ‘connect.php’;
//========================================================================
$sql = ‘SELECT FROM category
‘;
//$sql = ‘SELECT FROM category
WHERE cate_id
>= :cate_ids1 and cate_id
<= :cate_ids2’;
$stmt = $pdo ->prepare($sql);
//$cate_ids1=3;
//$cate_ids2=12;
//
//$stmt->bindParam(‘cate_ids1’,$cate_ids1,PDO::PARAM_STR);
//$stmt->bindParam(‘cate_ids2’,$cate_ids2,PDO::PARAM_STR);
//========================================================================
//PDOStatement类对增删查改进行操作
$caozuo = $stmt ->execute();
if ($caozuo){
$arr=$stmt->fetch();
echo $arr[‘cate_id’];
echo $arr[‘name’];
echo $arr[‘alias’];
}
else{
die(print_r($stmt->errorInfo(),true));
}
//类连接,是一直连接的,在执行完代码之后,自动释放,但是代码特别长的情况下,用代码释放。
//unset($add);
//unset($pdo);
//$pdo=null;
//print_r($pdo);