创建PDO对象
try{
$pdo=new PDO('mysql:host=localhost;dbname=dbname','root','password');
}catch(PDOException $e){
echo $e->getMessage();
}
fetch和fetchAll方法
$sql="select * from userinfo";
//获得pdostatement对象
$stmt=$pdo->prepare()$sql);//另外一种获得pdostatement对象方法:$stmt=$pdo->query($sql)
//执行并获得结果集
$res=$stmt->execute();
//fetch方法遍历结果集
if($res){
while($row=$stmt->fetch()){
print_r($row);
}
}
//fetchAll方法遍历结果集
$rows=$stmt->fetchAll();
print_r($rows)
quote方法f返回带引号的字符串 防止sql注入
$username=$_POST['username'];
$password=$_POST['password'];
$username=$pdo->quote($username);
$sql="select * from userinfo where username={$username} and password=‘{$password}’";
$stmt=$pdo->query($sql);
echo $stmt->rowCount();//返回受影响的行数(结果集中查询到的记录条数)
使用占位符来创建sql语句(只能用于预处理语句prepare的情况下)
$username="root";
$password='123';
//":name"的形式
$sql="select * from userinfo where username=:username and password=:password";
$stmt=$pdo->prepare($sql);
$stmt->execute(array(":username"=>$username,":password"=>$password));
//"?"的形式
$sql="select * from userinfo where username=? and password=?";
$stmt=$pdo->prepare($sql);
$stmt->execute(array($username,$password));
bindParam方法绑定参数
$sql="insert into userinfo(username,password) values(:username,:password)";
$stmt=$pdo->prepare($sql);
//绑定参数,如果sql语句是”?“的形式,bindParam的第一个参数是索引位置,从1开始
$stmt->bindParam(":username",$username,PDO::PARAM_STR);
$stmt->bindParam(":password",$password,PDO::PARAM_STR);
$username="root";
$password="123";
$stmt->execute();
bindValue方法绑定参数
$sql="insert into userinfo(username,password) values(:username,:password)";
$stmt=$pdo->prepare($sql);
//绑定参数,如果sql语句是”?“的形式,bindParam的第一个参数是索引位置,从1开始
$username="root";
$password="123";
$stmt->bindValue(":username",$username);
$stmt->bindValue(":password",$password);
$stmt->execute();
bindColumn方法绑定参数
$sql="select username, password from userinfo";
$stmt=$pdo->prepare($sql);
$stmt->execute();
$stmt->bindColumn(1,$username);
$stmt->bindColumn(2,$password);
while($stmt->fetch(PDO::FETCH_BOUND)){
echo $username;
echo $password;
}
网友评论