1、PDO 真正的以底层完成的一致接口数库操纵接口,不论后端运用的是何种数据库,假如代码封装好了今后,应用层挪用基础上差不多的,当后端数据库更换了今后,应用层代码基础不必修正.(引荐进修:PHP编程从入门到通晓)
2、PDO 支撑更高等的 DB 特征操纵,如:存储历程的调理等, mysql 原生库是不支撑的.
3、PDO 是 PHP 官方的 PECL 库,兼容性稳定性必定要高于 MySQL Extension,能够直接运用 pecl upgrade pdo 敕令升级.
4、PDO 能够防备 SQL 注入,确保数据库越发平安 PDO 防备 SQL 注入的道理
在 PHP 5.1.0 以后 PDO 默许开启状况 你能够经由过程 phpinfo()函数来检察 PDO 的开启状况:
当我们运用数据库实行查询时,数据库治理体系( DBMS )会对查询举行编译,优化查询,而运用 PDO 预处理能够使这个历程只在初次查询的时刻举行,在后续的雷同的查询只须要对绑定的参数举行替代,如许就节省了反复编译的时候,别的运用 PDO 参数绑定还能够防止 SQL 注入等平安性问题。
代码演示:
<?phptry{ $dbh=new PDO('mysql:host=localhost;dbname=testDB','root',''); $stmt=$dbh->prepare("INSERT users (user_name,sex) VALUES (:user_name,:sex)"); $stmt->bindParam(':user_name',$name); $stmt->bindParam(":sex",$sex); //插进去一行 $name="yang001"; $sex="M"; $stmt->execute(); //再次插进去一行 $name="yang002"; $sex="F"; $stmt->execute(); }catch (PDOException $e){ print "Error ! : ".$e->getMessage(); die(); }
检察数据库效果以下:
<?phptry{ $dbh=new PDO('mysql:host=localhost;dbname=testDB','root',''); $stmt=$dbh->prepare("SELECT * FROM users WHERE user_name=:user_name "); $stmt->bindParam(':user_name',$name); //插进去一行 $name="yang001"; if($stmt->execute()){ while ($row=$stmt->fetch(PDO::FETCH_ASSOC)){ print_r($row); } } }catch (PDOException $e){ print "Error ! : ".$e->getMessage(); die(); }
效果以下:
以上就是php用pdo好吗的细致内容,更多请关注ki4网别的相干文章!