この記事では、pdo に関する基本的な知識を提供します。PDO は、PHP5 に追加された主要な新機能です。データベース サーバーは MySQL です。プログラム コードのすべてのデータベース操作は、mysql または mysqli() 関数によって実行されます。操作、I皆さんのお役に立てば幸いです。
PDO は、PHP 操作の統一インターフェイスを備えた PHP データ オブジェクトの統一インターフェイスです。
PDO は PHP5 に追加された主要な新機能です。データベース サーバーは MySQL です。プログラム コードのすべてのデータベース操作は、mysql() または mysqli() 関数によって操作されます。データベースを置き換える必要がある場合たとえば、SQL、SERVER、PostgreSQL、MS などに置き換えると、すべてのプログラム コードを変更することは不可能です。したがって、PDO を使用する必要があります。PDO は、この問題をうまく解決するのに役立ちます。PDO を使用すると、非常に便利です。データ ソース形式を変更し、対応するドライバー ファイルを PHP.ini にロードするだけで済みます。
# PHP で使用できるさまざまなデータベース拡張機能は異なる発行者によって作成されているため、すべての拡張機能は基本的に同じ機能を提供しますが、コーディングの一貫性が十分ではありません。 PDO はこの不一致を解消し、さまざまなデータベースに使用できる単一のインターフェイスを提供します。
PDO は実行時に必要なデータベース ドライバーをロードするため、再構成する必要はありません。別のデータベースを使用するたびに PHP を再コンパイルしてください。たとえば、データベースを SQL から MySQL に切り替える必要がある場合、PDO_MYSQL ドライバーをロードするだけで済みます。
PDO は、PHP5 のオブジェクト指向機能を使用して、より強力で効率的なデータベース通信を実現します。
PDO は C で書かれ、PHP にコンパイルされており、PHP で書かれた他のソリューションと比較すると、他のすべては同じですが、より高いパフォーマンスを提供します。
ファイル php.ini で、php_pdo_mysql.dll の行を見つけてセミコロンを削除します。
php.ini、extension_dirを見つけて、これは拡張機能が存在するディレクトリです。まず先頭のセミコロンを削除してから、拡張機能のディレクトリを変更します。拡張機能のディレクトリは "E:/Web/php/ext" にあるので、extension_dir=" E:/Web に変更します。 /php/ext」。
(1) データベースへの接続、データベース ユーザー名、データベース名 パスワード
構文: $dsn = "データベース タイプ: dbname=データベース名; host=データベース ドメイン名";
$ User = "データベースのユーザー名";
# シリーズ試験: $ dsn = "mysql: dbname = test; host=127.0.0.1"; 3456";
(2) オブジェクトの宣言 1 )
メインアイデアを追加:
(1) 接続データベース、データベースユーザー名、データベースパスワード
(2)PDOオブジェクトの生成#
(3)执行查询
实现代码:
<?php header('content-type:text/html;charset=utf8'); //连接数据库 $dsn="mysql:dbname=test;host=127.0.0.1"; //数据库的用户名 $user="root"; //数据库的密码 $password="123456"; //生成PDO对象 $object = new PDO($dsn,$user,$password); $sql="select * from student"; $result = $object->query($sql); while($arr=$result->fetch()){ print_r($arr); }
查询结果为:
$result的打印结果为:
还可以用:
$data=$result->fetchAll(); print_r($student_info);
输出结果为二维数组:
注释:
1、query()执行查询语句,返回结果集对象;
2、用循环利用fetch()方法逐个的取出记录,返回的是关联数组和索引数组两种数组,和mysql_fetch_array()的返回结果一致
3、fetchAll()方法可以一次取出结果集中所有的数组,以二维数组的形式返回,但仍然是关联数组和索引数组两种数组
数字索引和关联索引都有,属于浪费资源,我们只需要关联索引:还可用用一下方式查询:
$object->setAttribute(PDO::ATTR_CASE, PDO::CASE_UPPER); $result = $object->query($sql); $result->setFetchMode(PDO::FETCH_ASSOC); $result_array = $result->fetchAll(); print_r($result_array);
结果为:
注释:
setAttribute()方法是设置部分属性,主要属性有:PDO::ATTR_CASE、PDO::ATTR_ERRMODE等,我们设置的是PDO::ATTR_CASE(使用关联索引获取数据)
PDO::CASE_UPPER是设置关联索引为大写,
PDO::CASE_LOWER -- 强制列名为小写
PDO::CASE_NATURAL -- 列名按照原始方式
PDO::CASE_UPPER -- 强制列名为大写
setFetchMode()方法设置获取结果集的返回值类型,同样类型还有:
PDO::FETCH_ASSOC --关联数组形式
PDO::FETCH_NUM -- 数字索引形式数组
PDO::FETCH_BOTH --两者数组形式都有
PDO::FETCH_OBJ -- 按照对象的形式,类似于以前的mysql_fetch_object()
大家如果感兴趣的话,可以点击《PHP视频教程》进行更多关于PHP知识的学习。
以上がPHP での PDO の基本的な使用法を深く理解するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。