データベース接続のPHPのデータベース操作
データベース内のPHPはまた、第三者によって提供される1つ以上の拡張、両方の公式を有していてもよいです。MySQLの一般的な機能拡張は、ネイティブのMySQLライブラリを持っているように、あなたもあなたも接続して動作させるためにPDOを使用することができ、mysqli拡張の拡張バージョンを使用することができます。
別の拡張子は、操作の基本的な方法は、いくつかの新しい機能を持つことが可能であり、業績は変更になる場合がありますことを除いて、同様です提供します。
データベース接続のMySQLの拡張方法:
$リンク=にmysql_connect(' MYSQL_HOST '、' mysql_user '、' mysql_password ');
mysqli拡張:
$リンク= mysqli_connect(' MYSQL_HOST '、' mysql_user '、' mysql_password ');
PDO拡張モジュール
$のDSN = ' mysqlの:DBNAME = TESTDB、ホスト= 127.0.0.1 ' ; $ユーザ = ' DBUSER ' ; $パスワード = ' DBPASS ' ; $ DBH = 新しい PDO($のDSN、$ユーザ、$パスワード);
PHP MySQLデータベース操作は、クエリを実行します
データベースで接続を確立した後のmysql_queryプラスデータベースに送信されたSQL文のクエリ命令の形式を使用して照会することができます。
$ RES = するmysql_query( 'ユーザー制限1から*を選択します');
お問い合わせのクラス文がリソースハンドル(リソース)を返すために、クエリの結果がリソースを介してデータを設定し取得することができます。
$行 = は、mysql_fetch_array($ RES )。 var_dump($行)。
PHPのデータベース操作は、MySQLに新しいデータを挿入します
私たちは、後にするmysql_queryデータクエリを使用する方法を知ったとき、非常に似ては、実際には、SQL文を実行してデータを挿入することで、例えば:
SQLの$ = "ユーザーのINSERT INTO(名前、年齢、クラス)の値( 'ジョン・ドウ'、18 '中産階級')" ; するmysql_query($のSQL); //は、INSERT文を実行します
MySQLでは、INSERTステートメントを実行した後、主キーIDを成長させることから得ることができ、IDは、PHPにmysql_insert_id機能によって取得されてもよいです。
$ UID = にmysql_insert_id();
IDこの効果は、一般的に成功した挿入か、または別のデータID関連付けオペレーションとして決定するために使用することができ、非常に大きいです。
取得したデータのクエリ結果のPHPのデータベース操作
私たちは、PHP MySQLクライアントを使用してデータベースを操作すること接続し、SQL文を実行した後、我々は設定したい結果を得るために非常によく似た操作であることがわかりました。
PHPは、いくつかの機能は、データセット内のデータの行を取得することができている最も一般的に使用さは、mysql_fetch_arrayである、あなたはパラメータを設定することで、データの行のインデックスを変更することができ、デフォルトでは、関連するインデックスインデックスインデックスとフィールド名の数字のインデックスが含まれています。
$ sqlを = "ユーザー制限1 SELECT * FROM" ; $結果 = するmysql_query($ sqlを); $行 = は、mysql_fetch_array($結果)。
唯一のパラメータのみMYSQL_ASSOC関連するインデックスアレイmysql_fetch_assoc同等の機能を得るために設定されている場合、機能は、mysql_fetch_rowと等価パラメータMYSQL_NUMデジタルアレイインデックスを設定することにより得ることができます。
行$ = は、mysql_fetch_row($結果); $行は、 = は、mysql_fetch_array($結果、MYSQL_NUMを、); // データ取得のこれらの2つの方法は同じです $行 = mysql_fetch_assoc($結果); $行は、 = は、mysql_fetch_array($結果、MYSQL_ASSOCを);
あなたは、データセット内のすべてのデータを取得したい場合は、我々はサイクルを通じて、結果セット全体を横断する必要があります。
$データ = 配列(); 一方、($行 = は、mysql_fetch_array($結果)){ $データ [] = $行。 }
データのPHPデータベースクエリページング操作
最後のセクション、私たちは、このようにページング機能を使用して、クエリの循環を通して利用可能なすべてのデータは、実際のアプリケーションでは、我々は一回のデータテーブル内のすべてのデータを取得したくないので、パフォーマンスが非常に低くなることを学びました、10ページ、または表示のみ20データ。
簡単メートルを制限し、制限MySQLのタブによって実現さ、nはm行から取ったデータのn行を表しすることができ、我々は、PHPのメートルに構築する必要があり、nページのすべてのデータへのアクセスを実現します。
仮定現在のページには、現在のフロントページのすべてのデータに対して$、ページ、ページごとのデータの$ N個、M、両方が$ M =($ページ-1)* $ N、フリップ原理を知った後、我々はされていることSQLステートメントを構築することにより、PHPでデータページを実装するのは簡単。
2ページ= $; $ = N-2; $メートル=(。$ページ- 1)* N- $; $ = SQL "ユーザーリミット$ mからSELECT *、N- $"; $結果は=するmysql_query($のSQL); //このページ環状のデータ取得 $ =データ配列を(); ながら($行= mysql_fetch_assoc($結果)){ $データ[] = $行; }
上記の例では、オフセット、ページ当たりのデータ数を表すために$ Mおよび$ N変数を使用するが、我々は、$ページサイズ、$開始、$オフセット、等として表すことがより意味のある変数名を使用することをお勧めします、理解し、チームワークの開発を支援する方が簡単です。