<?php $dsn = 'mysql:dbname=test;host =127.0.0.1';//链接mysql数据库的dsn $user ='root';//链接mysql数据库的用户名 $password ='root';//mysq数据库的密码 try{ $dbh =new PDO($dsn,$user,$password); }catch(PDOException $e){ echo '数据库链接失败:'.$e->getMessage(); } /*使用exec()方法,该方法成功执行后,将返回收影响的行数 $query ="UPDATE test_user SET password='3' where name='2' "; //使用exec()方法可以执行insert,update和delete等操作 $affected =$dbh->exec($query); if($affected){ echo '数据库contactInfo中受影响的函数为:'.$affected; }else{ printf($dbh->errorInfo()); }*/ /*使用pdo::query()方法 $query = "select name ,password from test_user"; try{ //执行select查询,并返回pdostatement对象 $pdostatement =$dbh->query($query); echo "一共从表中获取了".$pdostatement->rowCount()."条记录:<br>"; foreach($pdostatement as $row){ echo $row['name']."\t"; echo $row['password']."<br>"; } }catch(PDOException $e){ echo $e->getMessage(); }*/ /* * 下面的代码有问题,主要是execute方法不能使用 * 下面的代码的功能是准备语句,执行准备好的语句 *///$query = "insert into test_user (name,password) values(:name,:password)"; $query = "insert into test_user (name,password) values(?,?)"; $stmt =$dbh->prepare($query);//调用pdo对象中的prepare()方法 //第二个参数需要按引用传递,所以需要变量作为参数 /*$stmt->bindParam(':name',$name);//将变量$name的引用绑定到准备好的查询名字参数:name中 $stmt->bindParam(':password',$password);//将变量$name的引用绑定到准备好的查询名字参数:password中 $stmt->bindParam('1',$name);//将变量$name的引用绑定到准备好的查询名字参数:password中 $stmt->bindParam('2',$password);//将变量$name的引用绑定到准备好的查询名字参数:password中 $name ="3"; $password ="4"; $stmt =execute();//执行参数被绑定值后的准备语句*/ /*通过pdo::fetch_num获取数据 * $query= "select name ,password from test_user"; $stmt = $dbh->query($query); //以pdo::fetch_num形式获取索引并遍历 while(list($name,$password)=$stmt->fetch(PDO::FETCH_NUM)){ echo "<tr>"; echo "<td>$name</td>";//从结果行数组中获取name值 echo "<td>$password</td>";//从结果行数组中获取npassword、值 echo "</tr>"; }*/ /*有问题 * $query= "select name ,password from test_user"; //$stmt =execute(); $allRows =$stmt->fetchAll(PDO::FETCH_ASSOC);//以关联下标从结果中获取所有的数据 foreach($allRows as $row){ $row['name']; $row['password']; }*/ ?>
关于pdo的代码
最新推荐文章于 2021-03-10 05:29:46 发布