ホームページ > php教程 > php手册 > PHP+MYSQL 3 日間パス

PHP+MYSQL 3 日間パス

WBOY
リリース: 2016-06-21 09:14:52
オリジナル
843 人が閲覧しました

mysql

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 | tar xvf -
このうち、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 install コマンドを入力すると、必要なファイルがすべて対応するディレクトリにインストールされます。 MySQL を初めて使用する場合、これまでに MySQL をインストールしたことがない場合は、デフォルトの権限を作成する必要があるので、「scripts/mysql_install_db」と入力して、対応する設定を行います。次に行う必要があるのは、マシンの起動時にデータベースを自動的に起動し、シャットダウン時にデータベースを自動的に閉じることです。mysql.server start コマンドはデータベースを起動できますが、mysql.server stop コマンドは実行できません。データベースを手動で起動する場合 (マシンを再起動する必要がない場合)、MySQL の最上位ディレクトリ (/usr/local/mysql) に移動し、「bin/safe_mysqld」と入力します。 & command.
これで PHP の部分が完了しました。
3. PHP をインストールします。これで、MySQL がインストールされて実行できるようになりました。 , しかし、オプションの多さに慌てる必要はありません。必要に応じて、いつでも PHP を再コンパイルしたり、特定のオプションを追加または削除したりできます。この Web サイトには、開発プロジェクトからソフトウェアに至るまで、多くの情報が含まれています。MySQL と同様に、PHP をダウンロードするには、Web サイトの「ダウンロード」セクションにアクセスする必要があります。ここでは選択肢は多くありませんが、Windows プラットフォームを使用していない場合は、ソース コードをダウンロードして自分でコンパイルしてください
しかし、最初に Windows システムで PHP を使用するという一般的なアプローチについて説明します。 Unix サーバーで開発して実行する場合は、両方のプラットフォームでのインストールに慣れている必要があるため、ファイルを解凍する 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 - を削除してください。アパッチのオプション。構成プログラムが実行されると、対応するシステム ファイルが作成されます。あとは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 もそうです。問題が発生した場合は、必ず FAQ とソフトウェアのドキュメントを確認してください。
ここまで進んだので、実際に実行してみましょう。 4.
本当に悲しい部分は終わったと言えたら、あなたは幸せになるでしょう。システムは他のものとは異なるため、常に予測できません。しかし、あなたは幸運です。データベースが実行され、PHP がコンパイルおよびインストールされ、Web サーバーが拡張子 .php3 を持つファイルを正しく処理できるようになります。
最初のスクリプトを作成し、次のコンテンツを追加します。
< body>
次に、対応する URL (例: http://myserver/test) にアクセスします。 php3. ページに「Hello World」というテキストが表示されるので、ソフトウェアの設定が正しいかどうかを確認してください。これで完了です。このページの HTML ソース コードを見ると、Hello World のようなテキストだけがあることがわかります。PHP エンジンはファイルの内容をフィルターし、コードを処理して、標準の HTML
に変換します。上記のプログラムで最初に気づくのは区切り文字、つまり はコードの終わりを示します。 PHP の利点は、このコードをさまざまな方法でどこにでも、つまりどこにでも配置できることです。後でいくつかの興味深い例を見ていきますが、今は最も単純な例から始めましょう。必要に応じて、短いタグ を使用するように PHP を設定できますが、これは XML と競合するため、注意して使用してください。 ASP から PHP に移行する場合は、PHP で <% と %> を区切り文字として使用することもできます。
各行の後のセミコロンにも注目してください。これらのセミコロンはデリミタと呼ばれ、異なる命令を区切るために使用されます。区切り文字を使用してコマンドを区切ることで、すべての PHP コードを 1 行に記述することができます。しかし、それは煩雑に見えるので、各セミコロンの後に改行を入れます。各行はセミコロンで終わる必要があることに注意してください。
最後に、myvar という単語が $ 記号で始まっていることに気づくでしょう。このシンボルは、これが変数であることを PHP に伝えます。 「Hello World」を変数 $myvar に代入します。変数には数値または配列を指定できます。いずれにせよ、すべての変数は $ 記号で始まります。
PHPの真の力はその機能から生まれます。関数は基本的に一連の命令を処理します。すべてのオプションを PHP にコンパイルすると、合計 700 を超える関数が存在することになります。これらの関数を使用すると、さまざまなことができます。
次に、MySQL コンテンツを追加しましょう。 >>
5. データベースをロードします
次に、MySQL コンテンツを追加します。 PHP にどのようなオプションが含まれているか、またはサーバー側で何が起こっているかを調べる簡単な方法は、関数 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 サイトにアクセスしてください。
次のテキストをファイルにコピーし、そのファイルを MySQL の bin ディレクトリに保存します (ファイル名は mydb.dump であるとします)。
CREATE TABLE 従業員 ( id tinyint(4) DEFAULT '0' NOT NULL AUTO_INCREMENT, first varchar(20), last varchar(20), address varchar(255), Position varchar(50), PRIMARY KEY (id), UNIQUE id (id));INSERT INTO 従業員 VALUES (1,'Bob','Smith','128 Here St, Cityname','Marketing Manager');INSERT INTO 従業員 VALUES (2,'John','Roberts',' 45 There St , Townville','Telephonist');INSERT INTO従業員 VALUES (3,'Brad','Johnson','1/34 Nowhere Blvd, Snowston','Doorman');
テキストが折り返されている場合は、各 INSERT ステートメントが新しい行にあることを確認してください。次に、mydb データベースにデータを追加します。コマンドラインで、次のコマンドを入力します:
Mysql -u root mydb < mydb.dump

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

6. テスト
これで、データがデータベースにインポートされました。次に、このデータを処理してみましょう。次のテキストをファイルに保存し、そのファイルを Web サーバーのドキュメント ディレクトリに拡張子 .php3 を付けて保存します。
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 では、複数の行のデータを表示し、データベースとデータを交換するためのより複雑な作業を行います。
これからも頑張ってください!
1. While ループ
このレッスンでは、さらに深く掘り下げて、PHP と MySQL を使用していくつかのシンプルで便利なページを作成します。昨日作成したデータベースから始めて、データベース内のデータを表示しますが、少し磨きをかけます。
まず、次のコードを使用してデータベースの内容をクエリします。
n";echo "名前位置n";while ($ myrow = mysql_fetch_row($result)) {printf("%s %s%sn", $myrow [1 ], $myrow[2], $myrow[3]);}echo "n";?>
お気づきかもしれませんが、いくつかの新しいものが追加されました。このプログラムに追加されました。最も明白なのは while() ループです。このループは、データベースに読み取り可能なレコードがまだある限り (mysql_fetch_row() 関数を使用)、そのレコードを変数 $myrow に割り当て、中括弧 ({}) 内の命令を実行することを意味します。ここをよく見てください、この部分はより重要です。
mysql_fetch_row()関数に注目してください。ここには少し問題があります。配列を返すのですが、配列内のフィールドには配列の添字でアクセスする必要があります。最初のフィールドには 0、2 番目のフィールドには 1 というインデックスが付けられます。これは、特定の複雑なクエリを実行するときに実行するには非常に面倒です。
それでは、ループプロセスを詳しく見てみましょう。プログラムの最初の数行は、レッスン 1 の例ですでに見ました。次に、while() ループで、クエリ結果からレコードを読み取り、そのレコードを配列 $myrow に割り当てます。次に、printf関数を使ってデータの内容を画面に表示します。その後、ループが繰り返し実行され、次のレコードが読み取られて $myrow に割り当てられます。これは、すべてのレコードが読み取られるまで続きます。
while() ループを使用する利点の 1 つは、データベース クエリがレコードを返さなかった場合でも、エラー メッセージが表示されないことです。ループ ステートメントが最初に実行されるとき、ループ条件は満たされず、データは $myrow に割り当てられず、プログラムは直接実行されます。
しかし、クエリがデータを返さなかった場合、ユーザーにそれをどのように知らせるのでしょうか?おそらく、ユーザーに関連する情報を提供する必要があるでしょう。それは可能です。その方法を見てみましょう。 >>

2. if-else
以下のプログラムをご覧ください。

n"; echo "名前アドレスn"; do { printf("%s %s%sn", $myrow[" first" ], $myrow["last"], $myrow["address"]); } while ($myrow = mysql_fetch_array($result));echo "n";} else {echo "申し訳ありませんが、いいえレコードが見つかりました! "; }?>
このプログラムには多くの新しいコンテンツが含まれていますが、これらのコンテンツは非常にシンプルです。 1 つ目は mysql_fetch_array() 関数です。この関数は mysql_fetch_row() に非常に似ていますが、1 つの違いがあります。この関数を使用すると、$myrow["first"] などの配列添字の代わりにフィールド名を通じて返されるフィールドにアクセスできます。このようにして、多くの労力を節約できます。さらに、do/while ループと if-else 条件文がプログラムに追加されます。
if-else 条件文の意味は、$myrow 変数へのレコードの割り当てが成功した場合は続行し、そうでない場合は else 部分にジャンプしてそこで命令を実行するということです。
do/while ループは、前のページで使用した while() ループのバリエーションです。 do/while を使用する必要がある理由は、元の if ステートメントで、クエリによって返された最初のレコードを変数 $myrow に割り当てているためです。この時点で一般的な while ループ (たとえば while ($myrow = mysql_fetch_row($result))) を実行すると、2 番目のレコードが $myrow に割り当てられ、最初のレコードはフラッシュされます。 while ループを使用すると、ループ条件を決定する前にループ本体を 1 回実行できるため、クエリ結果にレコードが含まれていない場合でも、プログラムはクエリ内のステートメントを実行します。 else{} 部分のプログラムの実行を確認したい場合は、SQL ステートメントを SELECT * FROMemployees WHERE id=6 に変更するか、クエリにレコードが存在しないように他の形式に変更します。
次に、ループ if-else コードを拡張して、より実践的な例でその使用方法を見てみましょう。フォーム、クエリ パラメーター文字列、フォームの GET メソッドと POST メソッドについては、少し前の記事で紹介したばかりなので、この部分に詳しくない場合は、その記事を読んでください
さて、次は対処する必要があります。ご存知のとおり、クエリ パラメータ文字列にパラメータの内容を書き込む方法は 3 つあります。2 番目の方法は、入力時にクエリ パラメータを直接追加する方法です。ブラウザのアドレス バーの URL。3 番目の方法は、Web ページのハイパーリンクにクエリ パラメータ文字列を埋め込み、ハイパーリンクの内容が次のようになります。 . ここでは最後の方法を使用します。
最初に、データベースにクエリを実行し、それをリストします。 従業員名。 以下のプログラムを見てください。これはすでに馴染みのあるものです。 a href="%s? id=%s">%s %s

n", $PATH_INFO, $myrow["id"], $myrow["first"], $myrow ["last"]); } while ($myrow = mysql_fetch_array($result));} else { echo "申し訳ありません、レコードが見つかりません!" "; }?>
ここでは特別なことは何もありません。printf 関数が少し異なるだけです。詳しく見てみましょう。
まず注意すべきことは、すべての引用符の前にバックスラッシュが付いているということです。このバックスラッシュは、次の文字をプログラム コードとして扱うのではなく、直接表示するように PHP に指示します。変数 $PATH_INFO の使用法にも注意してください。この変数はすべてのプログラムでアクセスでき、プログラム自体の名前とディレクトリの場所を保存するために使用されます。これを使用する理由は、ページ内でプログラム自体を呼び出す必要があるためです。 $PATH_INFO を使用すると、プログラムが他のディレクトリや他のマシンに移動された場合でも、プログラムが正しく呼び出されることを保証できます。
今述べたように、プログラムによって生成されたWebページに含まれるハイパーリンクは、プログラム自体を再度呼び出します。ただし、再度呼び出すと、いくつかのクエリ パラメータが追加されます。
PHPは、クエリパラメータ文字列に「name=value」のようなペア形式が含まれていることを確認すると、特別な処理を実行します。クエリ パラメーター文字列で指定されたものと同じ名前と値を持つ変数が自動的に生成されます。この関数を使用すると、プログラムがプログラム内で最初に実行されるか 2 回目に実行されるかを判断できます。私たちがしなければならないのは、$id 変数が存在するかどうかを PHP に問い合わせることだけです。
この質問に対する答えがわかっている場合、プログラムを 2 回目に呼び出したときに、いくつかの異なる結果を表示できます。参照:
", $ myrow["first"]); printf("姓: %sn
", $myrow["last"]); printf("住所: %sn
", $myrow["住所"] ); printf("ポジション: %sn
", $myrow["position"]);} else { // 従業員リストを表示 // 従業員リストを表示 $result = mysql_query("SELECT * FROM 従業員",$db ); if ($myrow = mysql_fetch_array($result)) { // 表示するレコードがある場合はリストを表示 // レコードがある場合はリストを表示 do { printf("%s %s
n", $PATH_INFO, $myrow["id"], $myrow["first"], $myrow["last"]); } ($myrow = mysql_fetch_array($result)); } else { // 表示するレコードがありません // 表示するレコードがありません echo "申し訳ありません、レコードが見つかりません!" }}?> プログラム 複雑になってきましたので、何が起こっているかを説明するためにここにコメントを追加しました。 // を使用して単一行のコメントを追加することも、/* と */ を使用して大きなコメントを囲むこともできます。
この時点で、私たちは最初の本当に役立つ PHP/MySQL スクリプト プログラムを学習しました。次に、Web フォームを追加してデータベースにデータを送信する方法を見ていきます。 >>

4. サーバーへのデータの送信
これで、データベースからデータを読み取るのはそれほど難しくなくなりました。しかし、順番にデータをデータベースに送信するにはどうすればよいでしょうか?実際、これは PHP の問題ではありません。
まず、簡単な表を含むWebページを作成します。

Name:
姓:
住所:
役職:< ; input type="テキスト" name="位置">
; /html>
$PATH_INFOの使い方にも注意してください。最初のレッスンで述べたように、HTML コード内のどこでも PHP を使用できます。また、テーブル内の各要素がデータベース内のフィールドに対応していることにも気づくでしょう。この対応は必須ではありません。これは、より直観的であり、後でコードを理解しやすくするためです。
また、送信ボタンに name 属性を追加したことにも注意してください。このようにして、$submit 変数がプログラムに存在するかどうかをテストできます。その後、ページが再度呼び出されたときに、ページが呼び出されたときにフォームが入力されたかどうかがわかります。
上記の Web ページのコンテンツを PHP プログラムに書き込んでから、プログラム自体を呼び出す必要はないことを指摘しておきます。フォームを表示する Web ページとフォームを処理するプログラムを、都合に合わせて 2 つの Web ページ、3 つの Web ページ、またはさらに多くの Web ページに分割できます。ファイルに入れると内容がコンパクトになるだけです。
さて、ユーザーがフォームに入力した内容を確認するためのコードを追加しましょう。 PHP が実際にすべての変数をプログラムに渡していることを証明するために、$HTTP_POST_VARS を使用してすべてのクエリ パラメーター変数を表示します。この方法は非常に便利なデバッグ ツールです。すべての変数を表示したい場合は、$GLOBALS を使用します。

n"; }} else{ // フォームを表示?>
名前:
姓:
住所:
位置:
;
プログラムは正常に実行されるようになったので、フォームに入力された内容を取得して送信できるようになりました。データベース。

"> 名前:
姓:
住所:
Position:
< ; /form>
これでデータベースにデータが挿入されました。ただし、改善すべき課題はまだたくさんあります。ユーザーが特定のフィールドに入力しなかった場合はどうなりますか?数字が必要なテキストを入力する場合はどうすればよいですか?または、間違って記入した場合はどうすればよいですか?
心配しないでください。段階的に見ていきましょう。 >>

5. データを変更する
このチュートリアルでは、実行する SQL ステートメントを変数 ($sql) に入れ、mysql_query() を使用してデータベース クエリを実行しました。これはデバッグ時に便利です。プログラムに問題が発生した場合は、いつでも SQL ステートメントの内容を表示して、文法上のエラーがないかチェックできます。
データベースにデータを挿入する方法を学びました。次に、データベース内の既存のレコードを変更する方法を学びましょう。データ編集には、データ表示とフォーム入力によるデータベースへのデータ返という 2 つの部分が含まれます。これらの 2 つの部分についてはすでに説明しました。ただし、データの編集は少し異なります。まず、関連するデータをテーブルに表示する必要があります。
まず、最初のレッスンに戻って、Web ページに従業員の名前を表示するプログラム コードを見てみましょう。ただし、今回はデータを表に表示したいと考えます。プログラムは次のようになります:

  "> 名前:">
姓:">
住址:">
职位:">
%s %s
n", $PATH_INFO, $ myrow["id"]、$myrow["first"]、$myrow["last"]); }}?>

私は、フィールドの内容を対応するテーブル要素内の value プロパティに書き込みます。これは、対応する個別のものです。同様に、コンテンツ入力を処理するかどうかは、Submit を通じて判断します。また、使用する SQL 句にはいくつかの違いがあることに注意してください。 php$db = mysql_connect("localhost", "root");mysql_select_db("mydb",$db);if ($id) { if ($submit) { $sql = "従​​業員の設定を更新します first='$first' ,last='$last', address='$address',position='$position' WHERE id=$id"; $result = mysql_query($sql); echo "谢谢!データ変更が完了しました"; } else { // データベースデータベース $sql = "SELECT * FROM 従業員 WHERE id=$id"; $result = mysql_query($sql); $myrow = mysql_fetch_array($result); ?> ">名前:">
姓:">
住址:">
职位:">
%s %s
n", $PATH_INFO, $ myrow["id"]、$myrow["first"]、$myrow["last"]); このプログラムには、私たちの最も重要な特性が含まれています。さらに if() 文が追加され、多重条件が検査されます。
次に、すべての西すべてをまとめて、素晴らしい手順を記述します。
完全なプログラム
この文章を終える前に、追加、修正、削除の機能を持たせるために、すべての内容を 1 つのプログラムに追加します。良い方法です。以下の手順を参照してください。";} elseif ($delete) {// レコードを削除 $sql = "従​​業員から削除WHERE id=$id"; $result = mysql_query($sql); echo "レコードが正常に削除されました!

";} else { // 送信ボタンを押していない場合は、プログラムの次の部分を実行します。 if (!$ id) { // ステータスが変更されていない場合、従業員リストを表示 $result = mysql_query("SELECT * FROMemployees",$db) while ($myrow = mysql_fetch_array($result)) { printf( "%s %s n"、$PATH_INFO、$myrow["id"]、$myrow["first"]、$myrow[ "last"]); printf("(DELETE)< br>", $PATH_INFO, $myrow["id" ]); } } > "> "> 名前:
姓:
住所: < ;input type="Text" name ="address" value="">
Position:
< `/html>
このプログラムは複雑そうに見えますが、実際は難しくありません。プログラムには 3 つの主要な部分があります。最初の if() ステートメントは、「情報の入力」データ送信ボタンが押されたかどうかをチェックします。存在する場合、プログラムは $id が存在するかどうかを確認します。存在しない場合はレコード ステータスを追加し、存在しない場合はレコード ステータスを変更します。
次に変数$deleteが存在するかどうかを確認します。レコードが存在する場合は、そのレコードを削除します。最初の if() ステートメントでは POST メソッドを使用して送信された変数をチェックしましたが、今回は GET メソッドで渡された変数をチェックしていることに注意してください。
最後に、プログラムのデフォルトのアクションは、従業員のリストとテーブルを表示することです。同様に、変数 $id が存在するかどうかを確認したいと思います。存在する場合は、その値に基づいて対応するレコードを取得し、表示します。それ以外の場合は、空のテーブルが表示されます。
これで、私たちが学んだすべてを 1 つのプログラムにまとめました。 while() ループ、if() ステートメントを使用し、基本的な SQL 操作 (SELECT、INSERT、UPDATE、DELETE) をすべて実行しました。さらに、URL やフォーム入力を通じて、異なる Web ページ間で情報を渡す方法も知っています。
3番目のレッスンでは、Webページにインテリジェントな処理機能を追加する方法を学びます。
1. 基本機能
このチュートリアルの 3 番目で最後のレッスンへようこそ。最初と 2 番目のレッスンを学習している場合は、MySQL と PHP のインストールとプログラミングの基本的な知識をすでに持っています。以下では、開発プロセスを容易にし、役立つ可能性のある PHP の他の機能をいくつか紹介します。まずはヘッダーファイルを見てみましょう。
ヘッダー ファイルの基本的な概念は誰もが知っているはずですよね?ヘッダー ファイルは、その内容がメイン プログラムに組み込まれる外部ファイルです。方法も非常に簡単です。プログラム ファイル内でヘッダー ファイル名を引用すると、ヘッダー ファイルがインクルードされます。 PHP でヘッダー ファイルを使用するには、include() と require() という 2 つの関数が必要です。これら 2 つの関数の違いは小さいですが重要なので、慎重に検討する必要があります。 require() 関数は XSSI と同様に機能します。プログラムのどこで使用されても、プログラムの実行が開始されるとすぐにヘッダー ファイルの内容がプログラム自体の一部として処理されます。したがって、条件ステートメントで require() 関数を使用すると、条件が true でなくてもヘッダー ファイルがインクルードされます。
include() 関数は、このステートメントの実行時にヘッダー ファイルの内容のみをインクルードします。ここでプログラムが実行されない場合、PHP はそれを気にしません。これは、条件部分で include を使用すると、期待どおりに機能することを意味します。
また、require()関数を使用した場合、指定したヘッダーファイルが存在しない場合、プログラムは実行を停止し、エラーが発生します。 include() を使用すると、プログラムは警告メッセージを生成しますが、実行は続行されます。自分で試して、次のプログラムを実行し、 include() を require() に置き換えて、2 つのプログラムの結果を比較してください。

私はヘッダーのサフィックスに名前を付けるのが好きですヘッダー ファイルを通常のプログラムと区別できるように、.inc としてファイルを作成します。同じことを行う場合は、Web サーバー ソフトウェアの設定ファイルを変更して、.inc ファイルを PHP ファイルとして処理できるようにしてください。そうしないと、ハッカーがヘッダー ファイルの名前を推測し、ブラウザーを使用してヘッダー ファイルの内容をプレーン テキスト形式で表示する可能性があります。このとき、ヘッダー ファイルに機密情報 (データベースのパスワードなど) が含まれていると問題があります。
それで、ヘッダーファイルは何に使うのですか?とてもシンプルです!すべてのプログラムに共通するものをヘッダー ファイルに記述します。 HTML ファイルのヘッダー、脚注、データベース接続コード、および自分で定義したいくつかの関数などです。次のテキストをファイルにコピーし、header.inc という名前で保存します。
<?php echo $ title ?>


次に、 There を作成します。これは footer.txt という名前の別のファイルで、プログラムの最後に使用されるテキストとタグを含めることができます。
それでは、再度ファイルを作成してみましょう。このファイルには実際の PHP プログラム コードが含まれています。次のコードを試してください。もちろん、MySQL データベース サーバーが実行されていることを確認する必要があります。
n"; echo "名前位置n";while ($myrow = mysql_fetch_row($result)) {printf(" %s %s%sn", $myrow[1], $myrow[2], $myrow[3]);}echo " n" ;include("footer.inc");?>
何が起こったかわかりますか?ヘッダー ファイルの内容はプログラムにマージされ、PHP がすべてのコードを実行します。 header.inc ヘッダー ファイルをインクルードする前に $title がどのように定義されているかに注目してください。その値には、header.inc 内のコードからアクセスできます。このようにして、ウェブページのタイトルが変更される。これで、各メイン プログラムで $title 変数に適切な値を与えるだけで、どのプログラムでも header.inc ヘッダー ファイルを使用できるようになります。
ヘッダー ファイル、HTML、条件ステートメント、ループ ステートメントを追加すると、最も簡潔なコードを使用して、さまざまな機能を持つさまざまな複雑なプログラムを作成できます。後で説明するように、ヘッダー ファイルは関数と一緒に使用するとより効果的です。
次に、興味深い部分であるデータ検証を紹介します。 >>
2. データ検証
次の状況を想像してください: データベースを適切に設計したので、データベースに書き込む情報を入力するようユーザーに求めます。価格などの数値情報を必要とするフィールドがあり、親切なユーザーがこの列にテキスト情報を入力したため、アプリケーションの実行が誤動作したとします。 MySQL データベースは、SQL ステートメントで提供されたテキスト型データの受け入れを拒否し、あなたに対して「厳重な抗議」を行いました。
どうやってするの?上記の状況が起こらないようにするには、データ検証を使用する必要があります。
簡単に言えば、データ検証とは、データ(通常はHTMLフォームを通じてユーザーから渡される)をチェックして、特定のルールに従っているかどうかを確認することを意味します。ルールは多様です。たとえば、特定のデータ要素を空にすることはできません、または特定のデータ項目の内容は特定の要件を満たす必要があります (たとえば、前の例では、要件はテキストではなく数値でなければなりません。または要件は次のとおりです)。メールアドレスには必ず「@」などを含めてください。
データ検証はサーバー側でもクライアント側でも行うことができます。 PHP はサーバー側でのデータ検証に使用されますが、JavaScript またはその他のクライアント側スクリプト言語はクライアント側でデータ検証機能を提供できます。この記事は PHP に関するものであるため、ここではサーバー側の検証に焦点を当てます。クライアント上で実行できる既製のデータ検証プログラムを探したい場合は、NetMonkey ライブラリをチェックアウトしてください。
データベースのことはひとまず置いといて、まずはPHPのデータ検証方法について話しましょう。ご希望の場合 (または検証したいデータを記録したい場合)、以前に作成した従業員データベースに他のフィールドを追加することもできます。これは非常に簡単で、MySQL の ALTER ステートメントを使用するだけです。
データ検証に使用できる PHP 関数がいくつかあり、非常に単純なものもあれば、より複雑なものもあります。その中でも strlen() は変数の長さを知ることができる比較的単純な関数です。
もう少し複雑なのは ereg() で、この関数は完全な正規表現を処理して複雑な検証を実行できます。正規表現については多くの書籍が取り上げられているため、正規表現についてはあまり深く掘り下げたくありません。ただし、次のページでいくつかの簡単な例を示します。
簡単な例から始めましょう。次のプログラムは変数が存在するかどうかをチェックします。

最初の列:
2 列目: < input type="text" name="姓" value="">

このプログラムの重要な部分は、ネストされた条件文です。最初のレイヤーは、ユーザーがデータを送信したボタンを押したかどうかを確認します。存在する場合、プログラムは $first 変数と $last 変数の両方が存在するかどうかを確認します。 || 記号は「または」を意味し、! 記号は「否定」を意味します。そのプログラムを一般言語で説明すると、「$first が存在しないか、$last が存在しない場合は、$error 変数を次の値に設定します。」
次に、さらに一歩進んで、ピースの長さを確認します。テキストの。これは、ユーザーのパスワードをチェックするために必要です。怠惰なユーザーに 1 文字または 2 文字のパスワードを入力させたくないためです。また、6 桁のパスワードの入力を求められる可能性もあります。
strlen() 関数についてはすでに説明しました。単純に、測定対象の変数に含まれる文字数に等しい数値を返します。ここでは、上記のプログラムを修正して、$first と $last の長さを確認します。
最初の列:
2 列目:

このプログラムを実行して 6 つの単語または少ない。このチェックは単純ですが効果的です。 >>
3. 正規表現の処理
正規表現を処理するための ereg() 関数と eregi() 関数の使用について少し説明します。実際のニーズに応じて、これらの関数には非常に単純なものもあれば、非常に複雑なものもあるということを前に述べました。
正規表現を使用すると、文字列をチェックし、その中の構造パターンを検索し、それらのパターンが要件を満たしているかどうかを判断できます。最も一般的な用途には、電子メール アドレスが有効かどうかを確認することが含まれます (もちろん、この方法で有効であると判断された場合でも、電子メール アドレスが実際に存在するという保証はありません)。
ここでは正規表現の複雑な詳細には立ち入りませんが、いくつかの例を挙げるだけです。前のページで使用した表を使用できます。対応するプログラム コードをコピーし、以下のスニペットに追加して、どのように機能するかを確認します。
まず、フォームの各列に文字のみを入力できるようにする必要があります。次の正規表現は、ユーザーが 1 つ以上の小文字を入力すると true と評価されますが、数字は許可されません:
if (!ereg("[a-Z]", $first) || !ereg("[a-Z ]", $) last)) {
ここでさらに一歩進んで、文字列の長さが 4 ~ 6 文字であるかどうかを確認します。 [[:alpha:]] を使用すると、文字がアルファベットかどうかを確認する簡単な方法です。中括弧内の数字は文字数をチェックします。 ^ と $ はそれぞれ文字列の先頭と末尾を表すことにも注意してください。
if (!ereg("^[[:alpha:]]{4,6}$", $first) || !ereg("^[[:alpha:]]{4,6}$", $last )) {
最後に、メール アドレスの有効性を確認するための正規表現を作成しましょう。このタイプのテストの有効性については、かなりの議論が巻き起こりました。完璧なものはありませんが、以下に示す手順は非常にうまく機能します。
この貴重なプログラムをPHPメールディスカッショングループから頂きました。素晴らしい場所ですので、ぜひ頻繁に訪れてください。はい、このプログラムは少し面倒に見えます。
if (!ereg('^[-!#$%&'*+\./0-9=?A-Z^_`a-z{|}~]+'.'@'.'[-!#$% &'*+\/0-9=?A-Z^_`a-z{|}~]+.'.'[-!#$%&'*+\./0-9=?A-Z^_`a-z{ |}~]+$', $last)) {
このコードを詳しく調べるのにあまり時間をかけずに、まず次のページに進みましょう。 >>
4. 簡単な方法
先ほどの正規表現はどうでしょうか?興味深いですよね?電子メール アドレスをチェックする必要があるすべてのプログラムにこのようなプログラムが含まれていれば、非常に興味深いと思いませんか? !考えてみてください。こんなに面倒なプログラムを何度も書かなければなりません。 ...しかし、もちろん、もっと簡単な方法があります。
前に学習したヘッダー ファイルをまだ覚えていますか?これにより、この電子メール アドレス チェック プログラムのようなプログラムを作成し、このプログラムを複数のプログラムに組み込むことができます。このように、このプログラムを書き直す場合、複数のファイルを変更することなく、1 か所を変更するだけで済みます。
ただし、これを行うには関数を使用する必要があります。
関数は何度も使いました。データベースにクエリを実行したり、文字列の長さをチェックしたりするたびに、関数を使用して実行します。これらの関数は PHP に付属しています。熱心なプログラマであれば、自分で作成した関数を使用して PHP 自体の機能を拡張できます。ただし、この部分はこのチュートリアルでは少し高度すぎます。今回作成したい関数はそのような関数ではなく、PHPスクリプトプログラム内に記述された関数です。
関数はプログラム コードの一部であり、このコードに 1 つ以上の値を渡すと、このコードは渡したデータを処理して値を返します。実際のニーズに応じて、関数は非常に単純になることもあれば、非常に複雑になることもあります。ただし、数値を渡して数値を取得する限り、それが複雑か単純かは関係ありません。それが機能の美しさです。
PHPの関数はC言語の関数と同様に動作します。関数を定義するときは、関数が受け取る必要があるデータの種類を指定する必要があります。最初は、なぜデータを受信する必要があるのか​​理解するのが難しいように思えますが、これにより、奇妙な問題の発生を防ぐことができます。関数でこれができる理由は、関数内の変数がプライベート変数、つまり関数内にのみ存在するためです。たとえば、プログラムに $myname という変数がある場合、関数を作成し、その関数でも (同じ値を持つ) $myname 変数を使用したい場合、それは機能しません。関数内に $myname という名前の変数を作成することもでき、2 つの変数は共存して異なる値を取ることができます。しかし、これを行うことはお勧めしません。本当にこれを行うと、半年後にそのようなプログラムを再度修正するときに混乱する可能性があります。
それでは関数を作成してみましょう。簡単な関数から始めましょう。これに名前、つまり何を受け取るかを指定する変数を付けます。この関数を呼び出す前に、この関数を定義する必要があります。

< /body>
それでおしまい!まず、最初の関数を作成します。 2 つの新しい変数 $first と $second を定義します。それらがどのように定義されているかに注目してください。この関数を呼び出すときは、これら 2 つの変数に値を出現順に割り当てます ($first には 4、$sec には 5)。次に、2 つの数値を単純に加算して結果を返します。ここでの「返送」とは結果を返送することを意味します。プログラムの最後の部分では、数字の 9 を表示します。
データベース アプリケーションに役立つ関数を再度作成してみましょう。エラーを適切に処理する関数はどうでしょうか?次のプログラムを試してください:
";echo "The error reports by the system is :$error.n
";echo "Web サイトを一時的にシャットダウンし、システム管理者に通知することをお勧めします。";die;}if (!$db = @mysql_connect("localhost","user") , "password") ) {$db_error = "MySQL データベースに接続できません";do_error($db_error);}?>
プログラムを実行する前に、MySQL データベースを閉じてみてください。 、または間違ったユーザー名またはパスワードを使用しています。フレンドリーで役立つエラー メッセージが表示されます。注意深い人は、mysql_connect() 関数の前にある @ 記号に気づくでしょう。システム エラー メッセージを抑制し、プログラムが do_error() 関数から関連するエラー メッセージのみを取得できるようにします。また、呼び出し時に値を直接割り当てるのではなく、他の場所で定義された変数をパラメーターとして関数に渡すことができることにも気づくでしょう。
関数はプライベート変数を使用すると言ったのを覚えていますか?これは完全に真実ではありません。実際、関数に関数の外の変数へのアクセスを与えることができます。データベースにクエリを実行し、その結果を複数の Web ページに表示する関数を作成したい場合があります。毎回データベース接続 ID を関数に渡す必要はありません。この場合、接続 ID をグローバル変数として定義できます。例:

これは非常に単純な関数ですが、重要なことは、この関数を呼び出すときに次のことを行う必要がないことです。 $db 変数を渡す - global という単語を使用して、関数から変数にアクセスできるようにすることができます。このステートメントでは、カンマで区切って複数のグローバル変数を定義できます。
最後に、オプションのパラメーターを使用して、本物の専門家のように見せることができます。ここで重要なのは、関数内でパラメーターを定義するときにパラメーターのデフォルト値を指定することです。この関数を呼び出すときに、パラメーター変数に別の値を指定しない場合、関数は自動的にデフォルト値をこの変数に割り当てます。他の値を指定した場合、デフォルト値は無効になります。
よく分からない?たとえば、データベースに接続するときは、ほとんどの場合、同じサーバーに接続し、同じユーザー名とパスワードを使用します。ただし、場合によっては、他のサーバーへの接続も必要になります。次のプログラムを見てください:
< /html> ;
とても「かっこいい」ですね。関数を定義すると、関数内で使用される変数も定義されます。この関数が初めて呼び出されるとき、すべてのパラメーター変数にはデフォルト値が設定されます。 2 回目の呼び出しでは、サーバー名は変更されましたが、ユーザー名とパスワードは変更されていません。なんて素晴らしい経験でしょう!
他にどこで関数を使用できるかを考えてください。関数を使用して、データ検証を実行したり、共通関数を完了したりすることができます。 Web ページに表示されるテキストを処理するとき、私はさまざまな関数を使用します。改行や HTML タグなどを追加して、テキストを一度に検査、解析、変更できます。
さて、残っているのは私からのアドバイスです。 >>
5. 高度なスキル
データベース開発について話すとき、私たちは学ぶべきことがたくさんあります。データベースの設計方法と、データベースをさまざまなプラットフォームで確実に実行する方法をまだ学習していない場合は、このテーマに関する適切な本をすぐに見つけて読んでください。この能力は計り知れないメリットをもたらし、長期的には時間とエネルギーを大幅に節約できます。あと、MySQLも真剣に勉強してください。これは複雑で興味深いデータベースであり、優れたドキュメントがたくさんあります。データベースのテーブル構造、データ型、SQL を学びます。 SQL を本当にマスターすれば、かなり多くの実際の作業を行うことができます。
最後にPHPです。包括的なドキュメント、メーリング リストのディスカッション、プログラム コード ライブラリなど、必要なものはほぼすべて PHP Web サイトで見つけることができます。 PHP を学習する優れた方法は、ユーザー マニュアルに記載されている例を学習し、オンラインでコードを検索することです。ネットユーザーが投稿したコードには、最初から作成しなくても独自のプログラムで直接使用できる関数やクラスが多数含まれています。また、問題が発生した場合は、電子メール ディスカッション グループを活用するのが最適なリソースです。 PHP 開発者自身もメール ディスカッション グループに参加しており、問題解決を支援してくれる経験豊富な専門家が多数います。
良いプログラミングとご多幸をお祈りします



ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のおすすめ
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート