PHP数据库抽象层PDO操作

来源:互联网 发布:汉诺塔递归算法思想 编辑:程序博客网 时间:2024/04/29 06:12
<?php//PDO使用预处理语句的方式来实现sql语句:PDO::prepare()和PDOStatement::execute()//这样可以实现同一个查询多次执行try{$dbh=new PDO('mysql:dbname=winestore;host=localhost','root','root');//连接mysql数据库}catch(PDOException $e){echo '数据库连接失败'.$e->getMessage();exit;}//第一种方式//$query="insert into users(user_name,password) values(?,?)";//$stmt=$dbh->prepare($query);//调用PDO对象中的prepare()方法准备查询//$stmt->bindParam(1,$name);//将变量$name绑定到查询中的第一个问号参数中//$stmt->bindParam(2,$pass);//$name='pdo';//声明一个参数变量$name;//$pass='pdo';//$stmt->execute();//执行参数被绑定值后的准备语句//除了上面的绑定参数形式外,也可以使用索引数组,,数组中的每个值的位置都要对应每个问号参数//$stmt->execute(array("js","js"))/*第二种方式$query="insert into users(user_name,password) values(:name,:pwd)";$stmt1=$dbh->prepare($query);//下面的关联数组的下标一定要和命名参数名称一一对应//执行第一条$stmt1->execute(array(":name"=>"php",":pwd"=>"php"));//执行第二条$stmt1->execute(array(":name"=>"java",":pwd"=>"java"));*///使用fetch()获取数据//$stmt2=$dbh->query("select * from users");//$arr=array();//while($row=$stmt2->fetch(PDO::FETCH_NUM)){//echo $row[1];//PDO::FETCH_NUM返回的是索引数组//$arr[]=$row;//将获取的全部记录存到数组中//}//print_r($arr);//使用fetchAll()获取数据,该方法只需调用一次就可以获取结果集中的所有行,并赋给返回的数据$stmt3=$dbh->prepare("select * from users");$stmt3->execute();$allRows=$stmt3->fetchAll(PDO::FETCH_ASSOC);//以关联下标从结果集中获取所有数据foreach($allRows as $row){echo $row['cust_id'].'--'.$row['user_name'].'--'.$row['password'].'<br/>';}?>

0 0