この記事は主にphpでのデータベース接続方法pdoとmysqliの比較分析をあらゆる面から紹介しています。必要とするすべての人にお勧めします。参考に来てください。
1) 全体的な比較
PDO | MySQLi | |
データベースのサポート | 12 の異なるデータベースをサポート | MySQLをサポート |
API | おっと | OOP + プロセス |
接続 | 簡単 | 簡単 |
名前付きパラメータ | サポート | サポートされていません |
オブジェクトマッピングのサポート | サポート | サポート |
準備されたステートメント (クライアント) |
サポート | サポートされていません |
パフォーマンス | 早い | 早い |
ストアドプロシージャをサポート | サポート | サポート |
2 接続方法
まず、この 2 つがどのようにデータベースに接続するかを見てみましょう:
コードは次のとおりです:
3 データベースのサポート
PDO は複数のデータベースをサポートしますが、MYSQLI は MYSQL のみをサポートします
4 名前付きパラメータ名 パラメータ
PDO 方法:
コードは次のとおりです:
$params = array(':username' => 'test', ':email' => $mail, ':last_login' => time() - 3600); $pdo->準備('
コードは次のとおりです:
$query = $mysqli->prepare('
ユーザーから * を選択5 ORM マッピングのサポート
たとえば、次のようなクラス ユーザーがあります:
コードは次のとおりです:
クラスユーザー
{
コードは次のとおりです:
if ($result = mysqli_query($mysqli, $query)) {
while ($user = mysqli_fetch_object($result, 'User')) {
コードは次のとおりです:
// MySQLi、オブジェクト指向の方法
if ($result = $mysqli->query($query)) {PDO手動設定
コードは次のとおりです:
$username = PDO::quote($_GET['username']);
$pdo->query("SELECT * FROM users WHERE username = $username");
コードは次のとおりです:
$username = mysqli_real_escape_string($_GET['username']);
$mysqli->query("SELECT * FROM users WHERE username = '$username'");PDOメソッド:
コードは次のとおりです:
$pdo->prepare('SELECT * FROM users WHERE username = :username');
$pdo->execute(array(':username' => $_GET['username']));
コードは次のとおりです:
$query = $mysqli->prepare('SELECT * FROM users WHERE username = ?');
$query->bind_param('s', $_GET['username']);
http://www.bkjia.com/PHPjc/960577.html