PHP では、PDO を使用してデータベースを操作すると、コードのセキュリティと移植性が向上します。 PDO は、データベース アクセス用の統合インターフェイスを提供し、複数のデータベース タイプをサポートする PHP 拡張機能です。この記事ではPDOの基本的な使い方と注意点を紹介します。
1. データベースへの接続
PDO を使用してデータベースに接続するには、次のパラメータが必要です:
$dsn: データベース タイプ: host= ホスト名;dbname= データベース名
$username: ユーザー名
$password: パスワード
$options: オプションのパラメーター。文字セット、接続タイムアウトなど、データベースに接続するためのオプションを指定するために使用されます。
次は、MySQL データベースへの接続の例です:
$dsn = 'mysql:host=localhost;dbname=test;charset=utf8';
$username = ' root';
$password = '123456';
$options = array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION);
try {
$pdo = new PDO($dsn, $username, $password, $options);
} catch (PDOException $e) {
die($e->getMessage());
}
2. SQL ステートメントの実行
PDO を使用して SQL ステートメントを実行するには、まず PDO の prepare メソッドを呼び出して SQL ステートメントを準備し、バインドする必要があります。 SQL ステートメント内の変数、パラメータに固定。次に、execute メソッドを呼び出して SQL ステートメントを実行します。
以下はデータベースへのクエリの例です:
$sql = 'SELECT id, name, age FROM users WHERE age > ?';
$stmt = $pdo- > prepare($sql);
$stmt->bindParam(1, $age);
$age = 18;
$stmt->execute();
$rows = $stmt ->fetchAll(PDO::FETCH_ASSOC);
この例では、SQL ステートメント内の変数は疑問符で置き換えられます。変数をパラメーターにバインドするときは、bindParam メソッドまたは bindingValue メソッドを使用する必要があります。 。
bindParam メソッドは、変数を参照によってパラメーターに渡します。つまり、変数の値が変更されると、パラメーターの値も変更されます。
bindValue メソッドは、変数の値をパラメーターにコピーします。つまり、変数の値が変更されても、パラメーターの値は変更されません。
3. トランザクション制御を使用する
データベース操作では、トランザクションは関連するデータベース操作のグループを指します。全体として、このグループの操作はすべて正常に実行されるか、すべてロールバックされます。 PDO の beginTransaction、commit、および rollBack メソッドは、トランザクション制御の実現に役立ちます。
以下はデータ挿入の例です:
try {
$pdo->beginTransaction(); $stmt = $pdo->prepare('INSERT INTO users (name, age) VALUES (:name, :age)'); $stmt->bindParam(':name', $name); $stmt->bindParam(':age', $age); $name = '张三'; $age = 20; $stmt->execute(); $name = '李四'; $age = 22; $stmt->execute(); $pdo->commit();
} catch (PDOException $e) {
$pdo->rollBack(); die($e->getMessage());
}
この例では、beginTransaction メソッドはトランザクションの開始を意味し、commit メソッドはトランザクションのコミットを意味し、rollBack メソッドはトランザクションのロールバックを意味します。
4. 注意事項
PDO を使用してデータベースを操作する場合は、次の点にも注意する必要があります:
要約すると、PDO を使用してデータベースを操作すると、コードのセキュリティと移植性が向上します。データベース運用時のセキュリティ上の問題を回避するには、上記の方法を組み合わせて、さらに考え、試行し、PDO をより有効に活用することができます。
以上がPHP による PDO 操作ガイドの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。