php中 pdo的预处理

以下是一些pdo预处理 的一些小知识

PDOStatement类:准备语句,处理结果集 也就是预处理,安全,高效,推荐使用

两种占位符号

:    关联数组,按名称使用,和顺序无关,以冒号开头,自己定义

? 参数   索引数组,按索引顺序使用

$stmt=$pdo->prepare($sql); $sql可是是任意sql语句,这与mysqli不同

如:

try{

$pdo=new PDO("mysql:host=localhost;dbname=mysqldb","root","snail");

}catch(PDOException $e){

echo $e->getMessage();

}

$stmt=$pdo->prepare("select * from shop where id >:id");

$stmt->execute(array(':id'=>130));

$row=$stmt->fetch();

print_r($row);

echo '<br>';

?>

还有

<?php

//用fetch(),fetchAll()来获取查询结果

try{ $pdo=new PDO("mysql:host=localhost;dbname=mysqldb","root","snail");

}catch(PDOException $e)

{

echo $e->getMessage();

}

$stmt=$pdo->prepare("select * from shop where id >:id");

$stmt->execute(array(':id'=>130));/* 单条获取fetch()

$stmt->setFetchMode(PDO::FETCH_ASSOC); //设置获取模式

while($row=$stmt->fetch()){

print_r($row);

echo '<br>'; }

*/ //多条获取fetchAll()//

$stmt->setFetchMode(PDO::FETCH_ASSOC);

$data=$stmt->fetchAll(PDO::FETCH_ASSOC); //也可以用上句进行设置

echo '<pre>';

print_r($data);

echo '</pre>';

?>

<?php

//以表格输出查询结果

try{

$pdo=new PDO("mysql:host=localhost;dbname=mysqldb","root","snail");

}catch(PDOException $e)

{

echo $e->getMessage();

}

$stmt=$pdo->prepare("select id,name,price from shop where id >:id");

$stmt->execute(array(':id'=>130));

$stmt->bindColumn(id,$id);

$stmt->bindColumn(name,$name);

$stmt->bindColumn(price,$price);

echo '<table border=1 align="center" width=800px>';

echo '<tr>';

for($i=0;$i<$stmt->columncount();$i++){

$field=$stmt->getColumnMeta($i);

echo '<th>'.$field["name"].'</th>';

}

echo "</tr>";

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值