ホームページ >php教程 >php手册 >phpデータベース抽象化レイヤーPDO

phpデータベース抽象化レイヤーPDO

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBオリジナル
2016-06-13 12:09:24834ブラウズ

データベース抽象化レイヤー PDO の使用を紹介しましょう。

PDO (PHP Data Objects) は、データ アクセス抽象化レイヤーを提供する軽量の PHP 拡張機能です。さらに、PDO は PHP5.0 以降でのみ使用できます。

以下は、PDO で一般的に使用される定義済み定数の紹介です:

PDO::PARAM_BOOL (整数) ブールデータ型を表します

PDO::PARAM_NULL (整数) データ型 NULL を表す SQL

PDO::PARAM_INT (integer) 整数データ型として表される SQL

PDO::PARAM_STR (integer) SQL

char varchar またはその他の文字列データ型として表現

PDO::PARAM_LOB (integer) オブジェクトのデータ型を表す SQL

PDO::FETCH_LAZY (integer) 指定された取得メソッドは、結果セットの各行を、それに対応するオブジェクトの変数名として返す必要がありますフィールド名

PDO::FETCH_ORI_NEXT (整数) 結果セットの次の行を取得します

PDO::FETCH_ORI_PRIOR (整数) 結果セットの前の行を取得します

PDO::FETCH_ORI_FIRST (整数) 結果セットの最初の行を取得します

PDO::FETCH_ORI_LAST (整数) 結果セットの最後の行を取得します

PDO::ATTR_PERSISTENT (整数) 新しい接続を作成する代わりに永続的な接続を作成します

PDO の基本的な使用法:

PDO を使用してデータベースに接続します (ここでは MySQL のみを使用します):

コードをコピーします コードは次のとおりです:


$dbh = new PDO('mysql:host=localhost;dbname=test', $user, $pass);
<🎜; >
以下のコード MySQL 接続エラーの処理です:



コードをコピー コードは次のとおりです:

try {
$dbh = new PDO('mysql:host=localhost;dbname=test', $user, $pass);
foreach($dbh->query() 'SELECT * from FOO') as $row ) {
print_r($row);
$dbh = null
} catch (PDOException $e) {
print "エラー!: " . $e->getMessage () . "
";
die();
}
?>>


以下以下は、insert ステートメントを繰り返し使用する 2 つの例です。



Copy code

コードは次のとおりです。 $stmt = $dbh->prepare("INSERT INTO REGISTRY (name, value) VALUES (:name, :value)");

$stmt->bindParam(':name', $name); ;
$stmt->bindParam(':value ', $value);

// 1 行を挿入
$name = 'one'; 🎜>$stmt->execute();

// 異なる値を持つ別の行を挿入します
$name = 'two'
$stmt; ->execute();
?>





コードをコピーします

コードは次のとおりです。 >
$stmt = $dbh-> prepare("INSERT INTO REGISTRY (name, value) VALUES (?, ?)"); $stmt->bindParam(1) , $name); $stmt->bindParam(2, $value ); // 1 行を挿入します

$name = 'one';

$stmt->execute();

/ / 異なる値を持つ別の行を挿入
$name = 'two';
$ stmt->execute();
?>


データベースをクエリします:



コードは次のとおりです。


$stmt = $dbh->prepare("SELECT * FROM REGISTRY where name = ?"); ;execute(array($_GET['name']))) {

while ($ row = $stmt->fetch()) {
print_r($row)>}

?>

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。