php と mysql の 3 日間パス

高洛峰
リリース: 2016-12-01 15:22:06
オリジナル
1040 人が閲覧しました

1. PHP/MySQL の概要

過去 6 ~ 8 か月火星に住んでいない限り、オープン ソース ソフトウェア (OSS) について聞いたことがあるはずです。この動きは大きな影響を及ぼし、一部の大手企業の注目を集めています。 Oralce、Informix などの企業は、主要なデータベース製品を OSS 製品の 1 つである Linux オペレーティング システムに移植し始めています。

十分な技術力があれば、複雑で巨大なリレーショナルデータベースシステム(RDBMS)を持つとさらに強力になります。しかし、あなたはデータベースを使い始めたばかりかもしれません。Jay の記事を読んで、自分でデータ駆動型の Web サイトを構築しようと決心したのかもしれません。ただし、ASP サーバーや高価なデータベース システムを実行するために必要なリソースが不足している (これらは必要ない) 場合もあります。 Unix 対応の無料のものが必要です。

それならPHPとMySQLを使うことをお勧めします。これら 2 つを組み合わせると、データ駆動型 Web サイトを開発するのに最適な組み合わせになります。実際、それを説明するのに時間を費やす必要はありません。 Netcraft が主催した非公式の調査によると、PHP を使用するホストの数は、1998 年 6 月の 7,500 から 1999 年 3 月には 410,000 に急増しました。悪くないですよね?これら 2 つのソフトウェアの組み合わせは、Webcon98 カンファレンスでデータベース プロダクト オブ ザ イヤー賞も受賞し、美しいトロフィーを受け取りました。

MySQL は小さくて精巧なデータベース サーバー ソフトウェアであり、小規模 (もちろん必ずしも小規模である必要はない) アプリケーション システムに非常に理想的です。標準の ANSI SQL ステートメントをサポートするだけでなく、Unix システムでは複数のプラットフォームもサポートし、非常に優れたパフォーマンスを実現できるマルチスレッド操作をサポートします。 Unix を使用しないユーザーの場合、Windows NT システムではシステム サービスとして、または Windows 95/98 システムでは通常のプロセスとして実行できます。

PHPはサーバーサイドで解釈されるスクリプト言語です。 ASP を使用したことがある場合は、HTML ページへのコードの埋め込みに精通しているはずです。 PHP コードはサーバー側で解釈されて通常の HTML ページ コンテンツに変換され、ブラウザー側に送信されます。このモードを使用すると、非常に複雑な機能を実行できます。

無料であることに加えて(もちろん、MySQL にもいくつかのライセンス制限があります)、PHP と MySQL の組み合わせはクロスプラットフォームでも実行できます。つまり、Windows で開発してから Unix プラットフォームで実行することができます。さらに、PHP は標準 CGI プロセスとしても実行できます。この場合、PHP は独立したスクリプト インタプリタまたは Apache の組み込みモジュールになります。

他のデータベースサーバーの使用に興味がある場合、PHP は一般的な ODBC に加えて、Informix、Oracle、Sybase、Solid、PostgreSQL もサポートしています。

PHP はインターネット開発におけるいくつかの最先端のテクノロジーをサポートしています。これらのテクノロジには、いくつか例を挙げると、認証、XML、動的イメージ生成、WDDX、共有メモリ、動的 PDF ドキュメントなどが含まれます。それでも満足できない場合は、PHP は拡張が非常に簡単なので、プログラミング スキルがあれば、自分でスキルを披露することができます。
最後に言いたいのは、どちらのソフトウェアも多数のプログラマーによって開発されているため、ドキュメントやメーリングリストなどのサポート方法がたくさんあるということです。バグはすぐに修正され、新しい機能を要求すると、誰かがそれを検討し、実現可能であれば実装してくれるでしょう。

もう言いました!このチュートリアルの内容を見てみましょう。

最初のレッスンは、これら 2 つのソフトウェアを Unix および Windows 環境にインストールすることについてです。この問題をあまり気にしない場合 (おそらく ISP のサーバーで開発している場合)、最初のサンプル プログラムに直接ジャンプして、そこから素晴らしい旅を始めることができます。

2 番目のレッスンでは、ループ、ユーザー入力の処理、データベースとのデータ交換など、より複雑なスクリプト関数を学びます。

3 番目のレッスンは、確認機能とスクリプトを明確かつ簡潔にする方法についてです。

始めましょう。 >>
2. MySQL をインストールします

すぐに行動し、これらのソフトウェア パッケージを入手し、注意深く調べてください。これは簡単な作業ではありません。ソフトウェア パッケージの取得、ソフトウェア パッケージのコンパイル、およびソフトウェア パッケージのインストールのプロセスには多くのオプションがあります。 PHP を実行するには MySQL が必要なので、まず MySQL から始めましょう。

MySQL の中央 Web サイトは http://www.mysql.com/ です。人々が簡単にダウンロードして使用できるようにするために (このソフトウェアはまだ比較的大きいです)、世界中に多くのミラー Web サイトが存在します。インターネットをより効果的に使用するには、近くの Web サイトを見つけてダウンロードしてください。

この時点では、さまざまな選択肢もあります。熱心な方は、ソース コードをダウンロードできます。そうでない場合は、さまざまなプラットフォームで実行できるプリコンパイルされたバイナリがオンラインにあり、直接ダウンロードできます。

さらに、MySQL は Windows ユーザー向けに、バージョン番号が少し低いシェアウェア版も用意しています。最新バージョンが必要な場合は、ソフトウェア ライセンスの料金を支払う必要があります。 MySQL は、フロントエンド アプリケーションが MySQL データベースにアクセスできるようにする ODBC ドライバーも提供します。その他の詳細は Web サイトで公開されているので、確認してください。

コンパイル済みのUnix版とWindows版は非常にシンプルで、解凍して使用するだけで、あまり説明する必要はありません。そこで、ソースコードのコンパイルを紹介します。 Windows ユーザーの場合は、mysql/bin ディレクトリにある mysqld プログラムを実行する必要があることに注意してください。

圧縮されたソフトウェアパッケージファイルをダウンロードし、ディレクトリに配置します。 gzip と tar を使用して解凍し、解凍します。より速い方法は、次のコマンドを使用することです:

gunzip < mysql-xxxx.tar.gz |

ここで、xxxx は任意のバージョン タグです。上記のコマンドは、mysql-xxxx という名前のディレクトリを作成し、すべてのソース プログラム ファイルはこのディレクトリ内にあります。 cd mysql-xxxx コマンドを実行してディレクトリに入り、その中にある複数の README ファイルと INSTALL ファイルを注意深く読んでください。これらのファイルは、特定の問題が発生した場合に非常に役立つ場合があります。

MySQL には便利な設定スクリプトがいくつか付属しています。 「./configure」と入力するだけで、これらのプログラムに多くの作業を実行させることができます。何を行うかを明示的に指定する必要がある場合は、./configure -help コマンドを使用すると、使用できるオプションのリストが表示されます。たとえば、メモリの少ないマシンでコンパイルしている場合は、 --with-low-memory オプションを使用できます。私は MySQL をマシン上の複数のディレクトリではなく、合計 1 つのディレクトリにインストールすることを好むため、インストール ディレクトリを指定し、-prefix オプションを指定します。

コンパイル時にどの部分を省略するか、どの部分を保持するかなど、他にも多くのオプションを指定できます。これらはすべてサーバーの /usr/local/mysql ディレクトリにインストールされていると仮定した方がよいでしょう。これは、./configure -prefix=/usr/local/mysql コマンドを入力することを意味します。

設定スクリプトが実行されると、システムがチェックされ、スムーズなコンパイルを確保するためにいくつかのファイルが生成されます。スクリプトが失敗した場合は、失敗した理由を示す役立つエラー メッセージも表示されます。マルチスレッド ライブラリ ファイルを探すときにスクリプトが失敗することがよくあります。この時点で、MIT-pthreads がシステムにインストールされているかどうかを確認する必要があります。インストールされていない場合は、ソフトウェアをインストールしてください。 Linux ユーザーは LinuxThreads をインストールする必要があります。これらのライブラリ ファイルは、MySQL のマルチスレッド実行モード (つまり、複数のバージョンの MySQL を実行する) にとって非常に重要です。すべてが順調に進んだ場合は、make コマンドを入力するだけで、MySQL はかなり複雑です。エラーが見つかった場合は、オペレーティング システムに関連する準備が不足していないかどうかを確認してください。次に、make コマンドを入力すると、必要なファイルがすべて対応するディレクトリにインストールされます。これで、ほぼ準備が整いました! MySQL を初めて使用する場合、これをインストールするためのデフォルトの権限を作成する必要があるため、..scripts/mysql_install_db と入力して、対応する設定を行います。次に行う必要があるのは、マシンの起動時にデータベースを自動的に起動し、シャットダウン時にデータベースを自動的に閉じることだけです。mysql.server start コマンドを使用してデータベースと mysql を起動することもできます。データベースを手動で起動したい場合は (マシンを再起動する必要がないように)、MySQL がインストールされている最上位ディレクトリ (/usr/local/) に移動します。 mysql) を入力し、bin/safe_mysqld & コマンドを入力します

次は、PHP の部分です

ここまで来るまでに、MySQL がインストールされて実行されていると思います。とても楽しいです! これが PHP です...プロセスは少し簡単ですが、オプションの多さに圧倒される必要はありません。特定のオプションを追加または削除するために、いつでも PHP を再コンパイルすることができます。 PHP のホームは http://www.php.net/ で、MySQL と同様に、ダウンロードするミラー Web サイトを選択できます。 [ダウンロード] セクションで PHP をダウンロードします。ここには多くの選択肢はありません。コンパイル済みのバイナリがいくつかありますが、Windows プラットフォームを使用していない場合は、ソース コードをダウンロードして自分でコンパイルしてください。まずは Windows について話しましょう。 PHP を使用する場合、一般的なアプローチは、Windows システム上で開発し、それを Unix サーバー上で実行することです。最終的にこの方法を選択することになるかもしれませんが、これには両方のプラットフォームでのインストールに精通している必要があります。

Windows バイナリ ファイルをダウンロードした後、任意の ZIP 解凍プログラムを使用して、ソフトウェア パッケージ内のファイルを C ドライブの php3 ディレクトリに抽出できます。ソフトウェア パッケージ内の README ファイルには、インストール プロセスの詳細が部分的に説明されていますが、ここでは、このファイルの主要な内容を読者向けにダイジェストして説明します。 PHP を C:php3 ディレクトリではなく、他の場所にインストールしたい場合。ディレクトリにある場合は、抽出したファイル内の .inf ファイルを編集する必要があります。

php3ディレクトリには、.dllファイルがたくさんあります。ファイル名が php_ で始まらないすべての .dll ファイルを Windowssystem ディレクトリに移動します。次に、php.ini-dist ファイルの名前を php3.ini に変更し、Windows ディレクトリに移動します。このファイルを開くと、変更できる興味深いものがたくさんあることがわかります。次に、

extension=php3_mysql.dll

を含む行のコメントを解除します。

Win32プラットフォームでApacheサーバーを使用している場合は、PHPファイルを認識して解釈できるようにApacheをセットアップしてください。 http.conf ファイルまたは srm.conf ファイル (使用している Apache ソフトウェアのバージョンによって異なります) に次の行を追加する必要があります:

Action application/x-httpd-php3 "php3/php.exe "
AddType application/x-httpd-php3 .php3

または、IIS を使用している場合は、php_iis_reg.inf ファイルを右クリックして、「インストール」を選択します。行った変更を有効にするには、システムを再起動する必要があります。

さて、Windowsの話をした後は、Unixの話をしましょう。もちろん、ソースコードからコンパイルを開始する必要があります。 MySQL と同様に、ソース ファイルをダウンロードして解凍します。 PHP には構成スクリプトも含まれていますが、デフォルト設定を完全に使用することはできません。 ./configure -help more コマンドを実行して、新しい興味深いオプションをページごとに表示します。 PHP を外部 CGI プログラムにコンパイルするか、Apache 組み込みモジュールにコンパイルするかを選択する必要があります。 Apache Web サーバーを使用していて再コンパイルできる場合は、より高速で使いやすいインライン モジュール方式を選択してください。それ以外の場合は、CGI 方式を選択できます。さらに、MySQL サポート部分がコンパイルされるように指定する必要があります。

ここで、MySQL サポート部分を備えたインラインモジュールとしてコンパイルしたいと仮定します。後で他のオプションやライブラリを追加する必要がある場合は、後で追加できます。次のコマンドを入力します:

./configure -with-apache=/path/to/apache/dir -with-mysql=/usr/local/mysql

外部 CGI プログラムとしてコンパイルする予定がある場合は、それを削除してください-with-Apache オプション。構成プログラムが実行されると、対応するシステム ファイルが作成されます。あとはmakeコマンドを実行するだけです。

またコーヒーを飲む時間です。この時点で落ち着かないと感じても、心配しないでください。初めて PHP をインストールするときは、誰もが少し圧倒されます。もっとコーヒーを飲んでください。

CGIプログラムのコンパイル方法を選択した場合は、すぐに使用できます。生成された実行可能ファイルを CGI プログラム ディレクトリにコピーするだけです。 Apache組み込みモジュール方式でコンパイルする場合は、再度make installコマンドを実行し、関連ファイルをApacheディレクトリにコピーしてください。このディレクトリでは、Apache のドキュメントに従って PHP モジュールを追加し、Apache を再コンパイルできます。

次に、PHP プログラムを通じてページのコンテンツを処理する方法を Web サーバーに指示する必要があります。 Apache を使用していない場合は、Web サーバー ソフトウェアのドキュメントを参照して、接尾辞 .php3 を持つファイルを処理する方法を確認する必要があります。 Apache 1.3.x バージョンのユーザーは、AddType application/x-httpd-php3 .php3 を httpd.conf または srm.conf ファイルに追加するだけで済みます。 CGI プログラムを使用している場合は、AddType の前に次のコンテンツを追加する必要があります:

Action application/x-httpd-php3 "php3/php.exe

以上です。あなたの運はそれほど悪くありません。今は MySQL です。が実行されており、PHP は正常に動作しています。問題が発生した場合は、必ず FAQ とソフトウェアのドキュメントを確認してください。

IV.
本当に悲しい部分は終わったと言えれば、ソフトウェアのインストールプロセスは常に予測不可能であるため、システムによって大きな違いがあると言えますが、幸運なことに、データベースは実行されています。コンパイルおよびインストールが完了すると、Web サーバーは拡張子 .php3 を持つファイルを正しく処理できるようになります。まず、最初のスクリプトを作成して、次の内容を追加します。





$myvar = "Hello World";
echo $myvar;
?>


次に、対応する URL (例: http://myserver/test.php3) にアクセスします。ページ上に「Hello World」を含むテキストが表示されるはずです。エラー メッセージが表示された場合は、PHP ドキュメントを参照して、ソフトウェアが正しく設定されているかどうかを確認してください。

以上です!これは初めての PHP プログラムです。このページの HTML ソースコードを見ると、Hello World のようなテキストだけがあることがわかります。


これは、PHP エンジンがファイルのコンテンツをフィルターし、ファイル内のコードを処理して、標準の HTML に変換するためです。

上記のプログラムで最初に気づくのは、?lt;?php の最初の数行である区切り文字です。このタグは PHP コードが続くことを示し、?> はコードの終わりを示します。 PHP の利点は、このコードをさまざまな方法でどこにでも、つまりどこにでも配置できることです。後でいくつかの興味深い例を見ていきますが、今は最も単純な例から始めましょう。必要に応じて、短いタグ を使用するように PHP を設定できますが、これは XML と競合するため、注意して使用してください。 ASP から PHP に移行する場合は、PHP で <% と %> を区切り文字として使用することもできます。

各行の後のセミコロンにも注目してください。これらのセミコロンはデリミタと呼ばれ、異なる命令を区切るために使用されます。区切り文字を使用してコマンドを区切ることで、すべての PHP コードを 1 行に記述することができます。しかし、それは煩雑に見えるので、各セミコロンの後に改行を入れます。各行はセミコロンで終わる必要があることに注意してください。

最後に、myvar という単語が $ 記号で始まっていることに気づくでしょう。このシンボルは、これが変数であることを PHP に伝えます。 「Hello World」を変数 $myvar に代入します。変数には数値または配列を指定できます。いずれにせよ、すべての変数は $ 記号で始まります。

PHPの本当の力はその機能から生まれます。関数は基本的に一連の命令を処理します。すべてのオプションを PHP にコンパイルすると、合計 700 を超える関数が存在することになります。これらの関数を使用すると、さまざまなことができます。

次に、MySQL コンテンツを追加しましょう。 >>
5. データベースをロードします

次に、MySQL コンテンツを追加します。 PHP にどのようなオプションが含まれているか、またはサーバー側で何が起こっているかを調べる簡単な方法は、関数 phpinfo() を使用することです。次のようなプログラムを作成します:



phpinfo();
?>

このプログラムを保存し、ブラウザでこのファイルにアクセスします。このページには、次のような興味深い有益な情報が含まれていることがわかります。この情報は、サーバー、Web サーバーの内部環境変数、PHP に含まれるオプションなどに関するものです。 「拡張機能」の最初のセクションで、MySQL で始まる行を見つけます。見つからない場合は、MySQL サポート オプションが PHP にコンパイルされていないことを意味します。インストール手順を再確認し、PHP ドキュメントを参照して、何か見逃していないか確認してください。

MySQL 行が見つかったら、続行できます。

MySQL データベースからデータを読み取る前に、まずデータベースにデータを入れる必要があります。現段階では、これを行う簡単な方法はありません。ほとんどの PHP プログラムには、MySQL データベースを作成およびアクティブ化するためのデータが含まれるデータ ファイルが付属しています。このプロセスはこのチュートリアルの範囲外であるため、私が代わりに行います。

MySQL は独自のユーザー権限テーブルを使用します。インストール中に、パスワードのないデフォルトのユーザー (root) が作成されます。データベース管理者は必要に応じてユーザーを追加したり、ユーザーにさまざまな権限を付与したりできますが、この作業は別の本で書くことができるため、ここでは root ユーザーのみを使用します。サーバーとデータベースを自分で管理する場合は、root ユーザーにパスワードを割り当てることが重要です。

要するに、データベースの話を続けましょう。 Win32 ユーザーには申し訳ありませんが、DOS でいくつかの作業を行う必要があります。 DOS ウィンドウを使用するか、すべてのコマンドを実行ウィンドウに入力する必要があります。コマンドを入力するときは、MySQL/bin のディレクトリ名を忘れずに含めてください。 Unix ユーザーは MySQL bin ディレクトリにコマンドを入力できますが、プログラムを実行するにはコマンドが ./ で始まる必要があります。

最初に行う必要があるのは、実際にデータベースを作成することです。コマンドラインで、次のコマンドを入力します:

mysqladmin -u root create mydb

これにより、「mydb」という名前のデータベースが作成されます。 -u オプションは、root ユーザーを使用していることを MySQL に伝えます。

次に、いくつかのデータを追加する必要があります。ここで使用するサンプル データは、誰もが好んで使用する従業員データベースです。先ほど述べたデータ ファイルを使用します。これについて詳しく知りたい場合は、MySQL が提供するマニュアルを確認するか、http://www.turbolift.com/mysql/ Web サイトにアクセスしてください。 <

BR>
次のテキストをファイルにコピーし、そのファイルを MySQL の bin ディレクトリに保存します (ファイル名は mydb.dump とする)。

CREATE TABLE 従業員 ( id tinyint(4) DEFAULT '0' NOT NULL
AUTO_INCREMENT、最初の varchar(20)、最後の varchar(20)、
address varchar(255)、position varchar(50)、PRIMARY KEY (id) 、
一意の ID (id));従業員の値に挿入 (1,'ボブ','スミス',
'128 Here St, Cityname','マーケティング マネージャー');

従業員の値に挿入 (2,'ジョン','Roberts','45 There St ,
Townville','Telephonist');

従業員の値に挿入 (3,'Brad','Johnson','1/34 Nowhere Blvd,
Snowston','Doorman ');

テキストが折り返されている場合は、各 INSERT ステートメントが新しい行で始まることを確認してください。次に、データを mydb データベースに追加します。コマンドラインで、次のコマンドを入力します:

mysql -u root mydb < mydb.dump

この時点ではエラーは発生しないはずです。何か問題が発生した場合は、上記のテキストの折り返しが原因でエラーが発生したかどうかを注意深く確認してください。 >>
6. テスト

これで、データがデータベースにインポートされました。次に、このデータを処理してみましょう。次のテキストをファイルに保存し、そのファイルを Web サーバーのドキュメント ディレクトリに拡張子 .php3 を付けて保存します。





$db = mysql_connect("localhost", "root");
mysql_select_db("mydb",$db);
$result = mysql_query( "SELECT * FROM 従業員",$db);
printf("名: %s
n", mysql_result($result,0,"first"));
printf("姓: %s
;n", mysql_result($result,0,"last"));
printf("アドレス: %s
n", mysql_result($result,0,"アドレス"));
printf("位置: %s
n", mysql_result($result,0,"position"));
?>



上記のコードを説明します。 mysql_connect() 関数は、指定されたユーザー名 (この場合、ユーザー名は root) で、指定されたマシン (この場合、マシンは localhost) 上の MySQL データベースに接続する役割を果たします。ユーザーのパスワードを指定したい場合は、それをこの関数に渡すこともできます。接続の結果は変数 $db に保存されます。

次に、mysql_select_db() 関数は、読み取りたいデータベースが mydb であることを PHP に伝えます。プログラムでは複数のマシン上の複数のデータベースに同時に接続できますが、現在は 1 つのデータベースへの接続に制限されています。

次に、mysql_query() 関数で最も複雑な部分が完了します。この関数は、取得した接続結果識別子を使用して、処理のために SQL ステートメントの行を MySQL サーバーに送信します。返された結果は変数 $result に格納されます。

最後に、mysql_result()関数はSQLクエリコマンドで取得した各フィールドの値を表示します。変数 $result を使用すると、レコード番号が 0 の最初のレコードを検索し、その中の各フィールドの値を表示できます。

これまでに Perl や C 言語を使用したことがない場合、printf 関数の構文形式は奇妙に見えるでしょう。上記のプログラムの各行で、%s は式の 2 番目の部分のどの変数 (例: mysql_result($result,0,"position")) を文字列として表示するかを表します。 printf についてさらに詳しく理解するには、PHP ドキュメントを参照してください。

今回のレッスンは以上です。 MySQL と PHP を正常にコンパイル、インストール、セットアップし、データベースから情報を読み取るための簡単なプログラムを実行しました。レッスン 2 では、複数の行のデータを表示し、データベースとデータを交換するためのより複雑な作業を行います。


関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のおすすめ
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!