Your PHP skills tool showed me were I needed to improve and how to do it! "あなたのPHPスキルツールは、私が改善し、それをどのように行うために必要であったを見せてくれた!"
トム

データベース·プログラミング

PHPがMySQLなどのデータベースと一緒に持って来られるとき、それはユーザーとのより多くのインタラクティビティが発生することができます。 データは、フォーラムや他の機能と同じようにコンポーネントを訪問する訪問から保存​​することができますウェブサイトに追加することができます。

データベースとは何ですか?

このコンテキスト内のデータベースは互いにforiegnキーによって、そのユーザーの行がそれに関連する複数の電子メールの行を持つことができますに関連するデータベースはテーブルから構成されていることのRDBMSです。

追加、更新、およびデータを選択し、データベースを簡単にする言語であるSQLを使用して照会することができます。 しかし、 SQLはまた、データベースの(BPF)について併せて検討を変更することができます。

PHPとMySQL

もちろん、PHPはMicrosoft SQL ServerやOracleなど他のデータベースエンジンに加えて、多くを処理することができます。

他のデータベース·サーバー用の関数名は、SQL Serverのmysql_connectmssql_connectので、別の最初の部分を除いて非常によく似ています。 データベースに接続するためには、まず、この下に示すように、あなた 、mysql_connect 使用を行うには、データベースに接続する必要があります。

link = mysql_connect ( ' localhost ' , ' username ' , ' password ' ) ; $リンク= mysql_connect( 'localhost'を 'ユーザ名'、 'パスワード');

上記の変数localhostは mysqlデータベースが配置されているサーバーです。 localhostは、スクリプトがで実行されているのと同じマシンなので、それはローカルマシン上に置かれていることを意味しますが、これは同様に、リモートサーバーである可能性があり、サーバ名またはIPアドレスによって示される可能性があります。

変数 username および password は、MySQLデータベースサーバのユーザ名とパスワードです。 あなたがMySQLをインストールするか、または彼らはあなたのMySQLがインストールされている場合あなたのウェブホストによってあなたに与えられるときに、すべてのこれらの詳細のいずれか最初にあなたによって設定されます。 データベースへの接続が成功しなかった場合はfaliureがのように検出できるようにしmysql_connect関数 falseを返します。

link = mysql_connect ( ' localhost ' , ' username ' , ' password ' ) ; $リンク= mysql_connect( 'localhost'を 'ユーザ名'、 'パスワード');
$ link ) (!$ link)の場合
{
' Unable to connect to database : ' . mysql_error ( ) ) ; (:mysql_error() 'データベースに接続できません');死ぬ
}

ダイの関数は、この時点で実行を停止し、致命的なエラーを出力します。 ほとんどのスクリプトは、データベースへの接続に依存してされるので、通常は実行を継続するのが多すぎる点はないだろうが、これは必ずしもそうではありません。 はmysql_errorこの関数エラーをデバッグするのに非常に有用であり、データベース機能が失敗したときに常に使用する必要がありますが間違っていたものとして、さらに詳細な情報を提供する文字列としてデータベースに発生した最後のエラーを返します。

mysql_close接続スクリプトの終了時にPHPがとにかくクローズされるように、これはneccarryされていませんが、通常は、スクリプト内からデータベースへの接続を閉じることができます。

$ link ) ; mysql_close($ link)の;
あなたはSQLクエリを実行する前に、あなたは現在開いている接続は、例えばようにデータベースを使用するようになりmysql_select_db関数を使用してこれを行うためにクエリを実行するMySQLデータベースを選択する必要があります。
mysql_select_db ( ' phprocks ' ) ) もし(!mysql_select_db( 'phprocks'))
{
" Can ' t select phprocks database ! The error occured : " . mysql_error ( ) ) ;死ぬ "'できるTセレクトphprocksデータベースエラーが発生しました!"mysql_error());
}
などのエラーが発生した場合、前に偽はエラーが上記のように対処することができます関数によって返されます。 クエリは、これは文字列としてSQLクエリを実行することができますするmysql_query関数実行することができます。
query = " SELECT * FROM Users " ;クエリは= "ユーザーSELECT * FROM";
result = mysql_query ( $ query ) ; $ result=するmysql_query($クエリ);
$ result ) もし(!$結果
{
" An error occured while running the query : ' " . $ query . " ' , the error is : " . mysql_error ( ) ) ;死ぬ "クエリを実行中にエラー発生しました: '。" $ query ""、エラーは次のとおりです "mysql_error());
}

エラーはエラーが上記のようにキャプチャできるようにすることが発生した場合、再度、これはfalseを返します。 そうでなければするmysql_query関数 、クエリのすべての結果を含むResultSetを返します。

あなたが返すことができ、このデータの処理にいくつかのオプションがあります配列を するmysql_fetch_assoc関数を使って連想配列としては、では、mysql_fetch_row関数と行としてそれを返すか、mysql_fetch_object機能持つオブジェクトとして返します。

すべての3つのほぼ正確に同じタスクに機能しますが、以下に見られるようにわずかに異なる形式でデータを返します。

query = " SELECT name , age FROM Users " ; します$ query = "SELECT名前ユーザーからの時代";
result = mysql_query ( $ query ) ; $ result=するmysql_query($クエリ);

$ row = mysql_fetch_assoc ( $ result ) ) するwhile($=するmysql_fetch_assoc($結果))
{
$ row [ " name " ] ; ["名前"] $行をエコーする
$ row [ " age " ] ; しますecho $ row ["年齢"];
}

あなたがするmysql_fetch_assoc関数を使って見ることができるようにするには、連想配列のキーとして、クエリ内に存在する列名を渡すことによって、行の列値にアクセスすることができます。

query = " SELECT name , age FROM Users " ; します$ query = "SELECT名前ユーザーからの時代";
result = mysql_query ( $ query ) ; $ result=するmysql_query($クエリ);

$ row = mysql_fetch_row ( $ result ) ) するwhile($=するmysql_fetch_row($結果))
{
$ row [ 0 ] ; $行をエコーする[0];
$ row [ 1 ] ; します$ row [1]エコー;
}

あなたは列のインデックス位置を渡すことによって、行の列値にアクセスするmysql_fetch_row機能使用する場合は、クエリ内のように最初の列はインデックス0と等インデックス1による第2によってアクセスされる

query = " SELECT name , age FROM Users " ; します$ query = "SELECT名前ユーザーからの時代";
result = mysql_query ( $ query ) ; $ result=するmysql_query($クエリ);

$ user = mysql_fetch_object ( $ result ) ) するwhile($ユーザ= mysql_fetch_object($結果))
{
$ user - > name ; エコー $ USER - >名前;
$ user - > age ; エコー $ USER - >年齢;
}

あなたが返されるオブジェクトのプロパティにアクセスすることによって、行の列値にアクセスするmysql_fetch_object機能を使用する場合は、各列名はプロパティ名ですた。


コメントが提供されていません。
セキュリティイメージ
ドミニクスキナーによって書かれた
最終更新日:2011年10月25日午前16時○○分38秒を