mysql|データ|データベース
概要
この章では、情報をデータベースに保存し、Web ページに表示する方法を学びます。
(2002-08-29 14:11:25)
------------------------------------- -------------------------------------------------- ----
Wing 著、出典: Linuxaid
第 4 章: PHP を使用して MySQL データベースにアクセスする
この章では、Web 上で PHP を使用する方法を学習します。ページはデータベースに情報を保存し、それを表示します。これまでに、リレーショナル データベース エンジンである MySQL とサーバーサイド スクリプト言語である PHP をインストールし、それらに関する基本的な知識を学びました。この章を学習すると、これら 2 つの新しいツールを使用してデータベース主導の Web サイトを構築する方法が理解できるようになります。
前のパートの復習
先に進む前に、学習の目的を復習することが大切です。私たちのシステムには、スクリプト言語 PHP とデータベース エンジン MySQL という 2 つの強力な新しいツールが導入されました。この 2 つがどのように連携するかを理解することが重要です。
データベース駆動型 Web サイトの本質は、サイトのコンテンツをデータベース内に存在させ、このデータベースを通じて Web ページを動的に生成し、訪問者が標準の Web ブラウザを通じて Web ページを表示できるようにすることです。したがって、システムの一端にはサイトへの訪問者がおり、http://www.yoursite.com/ にアクセスして標準の HTML 形式の Web ページを取得し、それを Web ブラウザに表示します。システムの反対側には、SQL クエリ (コマンド) への応答方法のみを理解する MySQL データベース内の 1 つまたは複数のデータ テーブルにサイトのコンテンツが保存されています。
PHP スクリプト言語は、この 2 つの間の連携の役割を果たします。PHP を使用すると、サイトの外観 (画像やページ デザインを含む) を決定することができます。この時点で、コンテンツはこの「テンプレート」に属します。PHP コードを使用して MySQL データベースに接続し、SQL クエリを使用してデータを取得し、対応する場所に表示できます。ここで使用した SQL クエリは同じです。第 2 章の ジョークデータテーブルを作成する場合も同様です。
これで、訪問者がデータベース駆動型 Web サイトのページにアクセスすると何が起こるかを明確に理解できるはずです。
訪問者の Web ブラウザ このページをリクエストするには、標準の URL を使用します。
Web サーバー ソフトウェア (Apache、IIS など) は、要求されたページが PHP スクリプトであることを認識し、ページ要求に応答する前に PHP プラグインを使用してそれを解釈します。
一部の PHP コマンド (まだ学習していません) は、MySQL データベースに接続し、この Web ページに属するコンテンツをデータベースに要求します。
MySQL データベースが応答し、要求されたコンテンツを PHP スクリプトに送信します。
PHP スクリプトは、コンテンツを 1 つまたは複数の PHP 変数に保存し、使い慣れた echo 関数を使用して Web ページの一部として出力します。
PHP プラグインは処理を完了し、生成された HTML のコピーを Web サーバーに返します。
Web サーバーは、この HTML コピーを Web ブラウザーに送信します。これは標準の HTML ファイルになります。ただし、HTML ファイルから直接取得されるのではなく、PHP プラグインによって提供される出力から取得されます。
PHP を使用した MySQL への接続
Web ページに含まれるコンテンツを MySQL データベースから取得する前に、まず MySQL への接続を確立する方法を知る必要があります。第 2 章では、mysql というプログラムを使用してこのような接続を作成しました。 PHP ではそのようなプログラムは必要ありません。MySQL への接続のサポートは言語に組み込まれています。このような接続を確立するには、次の関数が使用されます:
mysql_connect(
現時点では " .
" データベース サーバーに接続できません。
ジョークが見つかりません" .
"この時点のデータベース。
ジョーク テーブルの作成中にエラーが発生しました: " .
mysql_error() . "< ;/P> ;");
}
ここで使用される mysql_error は、MySQL サーバーによって発行された最後のエラー メッセージを文字列の形式で返します。
DELETE、INSERT、および UPDATE (保存されたデータの変更に使用) の場合、MySQL はこのクエリによって影響を受けるデータ行の数を知ることができます。第 2 章で「チキン」という単語を含むすべてのジョークの日付を設定するために使用した次の SQL コマンドを考えてみましょう:
$sql = "UPDATE Jokes SET JokeDate='1990- 04-01 ' " .
"WHERE JokeText LIKE '%chicken%'";
このクエリを実行すると、mysql_affected_rows 関数を使用して、この変更によって影響を受けるデータ行の数を表示できます:
if ( mysql_query ($sql) ) {
echo("
影響を受ける更新 " .
mysql_affected_rows() . " rows.
更新実行中のエラー: " .
mysql_error() . "
クエリ実行エラー: " .
mysql_error() . "
gt;現在、「 .
」データベース サーバーに接続できません。
ジョーク「 .
"現時点ではデータベースが見つかりません。
// すべてのジョークのテキストをリクエストします
$result = mysql_query (
「ジョークからジョークテキストを選択」);
if (!$result) {
echo("gt;クエリ実行エラー: " .
exit();
mysql_error() . "
}
// 各ジョークのテキストを段落に表示します
while ( $row = mysql_fetch_array($result) ) {
echo("" . $row["JokeText"] . "
");
}
?>
gt ;あなたのジョークが追加されました。
");gt;送信されたジョークの追加エラー: " .
mysql_error() . "