PDO - PHP データ オブジェクト (PHP データ オブジェクト) の略語。複数のデータベースに統合された接続インターフェイスを提供する方法として、PDO の最下層は、対応するデータベースの PDO データ ドライバーと連携する必要があります。データベースを操作するため。 PDO は、現在 PHP によって正式に推奨されているデータベース接続方法です。その利点は次のとおりです:
1. PDO は、最下層で実装される真に統合されたインターフェイスのデータベース操作です。インターフェイス、バックエンドで使用されるデータベースの種類に関係なく、コードがカプセル化されていれば、アプリケーション層の呼び出しは基本的に同じであり、バックエンド データベースが変更された場合でも、アプリケーション層のコードは基本的に変更する必要はありません(推奨)学習: PHP プログラミングの入門から熟練度まで )
2. PDO は、mysql ネイティブではサポートされていないストアド プロシージャのスケジューリングなど、より高度な DB 機能の操作をサポートします。 library.
3. PDO は PHP の公式 PECL ライブラリです。その互換性と安定性は MySQL Extension よりも高い必要があります。アップグレードするには pecl upgrade pdo コマンドを直接使用できます。
4. PDO は SQL インジェクションを防止し、データベースの安全性を高めます。 SQL インジェクションを防ぐ PDO の原理
PHP 5.1.0 以降、PDO はデフォルトで有効になっており、phpinfo() 関数を通じて PDO のオープンステータスを確認できます:
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を使っても大丈夫でしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。