PDO是什么?

PDO一是PHP数据对象(PHP Data Object)的缩写。它被描述为“在PHP中访问数据库的轻量级,兼容性的接口”

PDO的好处:

  1. 免于SQL注入攻击。
  2. 通用,可以连接多种类型的数据库。

POD连接数据库

$dsn = 'mysql:dbname=blog;host=localhost';
$user = 'root';
$pwd = '';

try{
    $pdo = new  PDO($dsn ,$user,$pwd);
}catch( PDOException  $e )
{
    var_dump($e->getMessage());
}

PDO的基本操作:
bool beginTransaction(void) //开启事务

bool commit(void) //提交事务

int exec (stirng $statement) //改的操作 返回受影响的行数

public PDOStatement query(string $statement) //用来执行查询的语句

public PDOStatement prepare (string $statment [, array $driver_options = array() ]) //sql语句的预处理,sql语句由它修饰后就会变成PDOStatement的对象 之后的操作就是用PDOStatement里面的方法进行处理

string lastInsertId ([string $name = null]) //得到上次插入语句的Id

PDOStatement的方法:

bool bindParam ( mixed $parameter , mixed &$variable [, int $data_type = PDO::PARAM_STR [, int $length [, mixed $driver_options ]]] ) //绑定参数

array fetchAll ([ int $fetch_style [, mixed $fetch_argument [, array $ctor_args = array() ]]] ) //得到所有的值

mixed fetch ([ int $fetch_style [, int $cursor_orientation = PDO::FETCH_ORI_NEXT [, int $cursor_offset = 0 ]]] ) //得到某一行的数据

bool execute ([ array $input_parameters ] ) //执行SQL语句 只要是PDOStatement的对象就用这个执行

PDO的预处理方式:

$dsn = 'mysql:dbname=blog;host=localhost';
$user = 'root' ;
$pwd = '';

try{
    $pdo = new PDO($dsn,$user,$pwd);
}catch(Exception $e)
{
    var_dump($e->getMessage());
}

方式一:
---------------------------------------------
$sql = 'select mname , mcontent from message where id > :id';
$pre = $pdo->prepare($sql);
$pre->execute([':id' => 5]);
var_dump($pre->fetchAll());

方法二:
$sql = 'select mname , mcontent from message where id > ?';
$pre = $pdo->prepare($sql);
$pre->execute([5]);
var_dump($pre->fetchAll());
--------------------------------------------

方法三:
$sql = 'select mname , mcontent from message where id > ?';
$pre = $pdo->prepare($sql);
$num = 5;
$pre->bindParam(1,$num);  //注意绑定的时候$num处不能为数字,
$pre->execute();           //如果要处理数字的就传成变量
var_dump($pre->fetchAll());
---------------------------------------------

方法四:
$sql = 'select mname , mcontent from message where id > :id ';
$pre = $pdo->prepare($sql);
$num = 5;
$pre->bindParam(':id',$num);
$pre->execute();
var_dump($pre->fetchAll());
----------------------------------------------
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值