私はPHPを使用したいとMySQLが、どのようにインストールするには、それを実行できますか?私は何を知っておくべき最も基本的なものの順序で簡単なPHPが - MySQLアプリケーションが動作できるようにですか?
これは、基本的なチュートリアルです。コードが奇妙なだけで、いくつかの基本的なことです。
もっと言うことは、チュートリアルの多数のアールは、UNIXマシンに基づいて、このチュートリアルでは、Windowsプラットフォーム上で焦点を当てる。ただし、インストールの一部に加えて、Windowsのすべてのプラットフォームの他の部分に多かれ少なかれメモを持っては同じです。
このチュートリアルでは、我々は、手順を追って、次の特性、PHPとMySQLを使用して小規模なサイトを構築する手順れます:
1。プロフィールデータベース。
2。データベースのレコードを編集する。
3。データベースのレコードを変更する。
4。データベースのレコードを削除します。
また、彼らと感じるようにMySQLとPHPは、学習します。
セクションでは、私が - を収集し、必要なプロジェクトを確立する
良い仕事。我々はいくつかの準備が必要でPHP - MySQLを起動するには:
1。ランWebサーバ;
2。PHP拡張モジュールを増やします。
3。MySQLの実行します。
最初のステップを取得し、Webサーバーをインストールする
例えば、あなたが既にマシンをWebサーバーを実行しているとしましょう。 Windowsでは、いくつかの有用なWebサーバのアプリケーションがあります。もう一つ注意すべきは、商品を選択/ mysqlのWebサーバのPHPを実行するために拡張をサポートすることができます。
1つは、最も簡単なのWindowsサーバにインストールするにはOmniHTTPdは(http://www.omnicron.ab.ca/httpd/、それは非常に良い無料のWebサーバーです。
したら、サイトのインストールファイルから受けて、ダブルクリックして、それは、Webサーバーをインストールします。あなたはすべてのデフォルト値を使用することを選択インストールする場合、はcにインストールされます:下httpdが。一度正常にインストールすると、インストーラは、[ようこそ]ウィンドウで、ウィンドウシステムでは、Webサーバーが開始されます場合は新しいアイコンを見ることができるトレイ。
さて、最初のステップは完了です。
2番目のステップは、ダウンロードしてPHPのリリースバージョンをインストールする
取得PHPのWin32のリリースでは、簡単です:単に、http://www.php.net/download-php.php3に移動し、その上に最高のロケーションを選択します。
OmniHTTPd PHPのは非常にインストールするには簡単です。
まず解凍してインストールがハードディスクにファイルの例では開始はc:phpのために。
コピーfiles''php3。iniファイル- dist''toあなたの''%WINDOWS''directoryダウンし、renamed''php3。iniファイル''(Win95/98ではのためのC:はWindows、WinNT/Win2kのをc:winntの)。
下記の書類を編集php3.ini:
Change''extension_dir''setあなたのPHPのインストールディレクトリ(c:php)に、またはdeposited''php3_ *. dll''directoryする。
を選択して、ファッションにPHPモジュールで起動する。あなたが必要be''extension = php3_ *. dll''removeコメント行これらのモジュール(一部の読み込みに
拡張子をコメントを削除php3_mysql.dll =確認)する。いくつかのモジュールは、追加のライブラリは、システムが正しく動作するようにインストールされて必要があります。
PHPのよくある質問(http://www.php.net/FAQ.php3)ライブラリの情報のサポートを取得する方法の詳細については情報があります。を使用できます:
dlは("php_ *. dllファイル")を動的にモジュールをロードします。
PHPの拡張機能はwith''php3_ ''を付いています。これは、PHP拡張モジュールのサポートライブラリの間に混乱を防ぐことができます。
今の簡単な手順をOmniHTTPdを設定してください:
システムトレイのアイコンを右クリックし、青いOmniHTTPd、オプションのプロパティ(プロパティ)の項目。
をクリックしてWebサーバーのグローバル設定項目;
Point''External''tabラベル。今で"仮想"フィールドが"と入力します。ものすごく"、"実際の"フィールドが"入力はc:phpphp.exe"を、
をクリックし、"追加"。
選択パントマイムタブのラベルと"Vritual"ENTER"をwwwserver / stdcgiを"、"実際の""を入力します。ものすごく"を、1つの
をクリックして"追加"。
OKをクリックします。
選択して、同じフォームのデフォルトの仮想の設定で。
今すぐ[サーバー]タブのラベルを。
"デフォルトインデックス"フィールドに入力します"Index.php3"(カンマ区切り)。これはindex.php3ファイルを識別することができますWebサーバーを教えてくれます。
OKをクリックします。
十分良い。私たちのテストをしようかどうかをPHPの仕事で:
作成は、テキストファイルは、テキストを次の書き込みindex.php3と呼ばれる:
?
エコー"私はそれを作ったよ!";
?
ブラウザを起動し、ポイントは、localhostに。場合は、画面を取得する必要があります"私はそれを作ったよ!"。
次に、取得し、MySQLをインストール:
http://www.mysql.com/download_win.html~~Vは、MySQL - Win32の配布ファイルをダウンロード、zipファイルを一時ディレクトリにファイルをセットアッププログラム(setup.exeを実行抽出する)してください。
あなたはデフォルトの標準インストールを選択した場合、すべてのMySQLのファイルはc:mysqlディレクトリにインストールされます。
さて、次の手順に従って、各ステップが正しく実行される必要があります。
いくつかのテスト:
まず、最初にはc:mysqlbin位置していますにmysqld - shareware.exeデーモンを実行する必要が次の。あなたは、DOSウィンドウを見ることができる閉じ数秒後。エラーメッセージは、mysqldがすでに実行している。
MySQLをチェックするだけで、cを:mysqlbinmysql実行します。現在は"MySQL "ターミナルウィンドウのプロンプトが表示されます。非常に
さて、私たちは、MySQLサーバとの対話を行うことができます。
[次へ]
パートIIは - を作成し、MySQLデータベースを操作する:
まず、使用するデータベースとテーブルを作成する必要があります。データベースは"例"の表は、権利"という名前tblは"、次のフィールド:識別番号、名前、姓と情報があります。 mysqlデータベースと作業テーブルの定義をターミナルの建設を完了するようにダブルクリックするか、実行限りします。c:mysqlbinmysql.exe。
MySQLのテーブルが定義されている場合は、(ノートのmysqlの は、端末プロンプトに使用することができます)で見れば:
MySQLの を見るデータベース;押します
このコマンドは、次の情報を表示することが:
+----------+
|データベース|
+----------+
| MySQLの|
|テスト|
+----------+
セット内の2行(0.01秒)
ために、型を新しいデータベース(例)を定義する:
MySQLの は、データベースの例を作成します。押します
あなたは答えを、などが表示されます:
クエリは[OK]を、1行が(0.17秒)の影響を受け
作られています、我々は今、新しいデータベースがあります。今は、新しいデータベースのテーブルを作成することができますが、最初に選択する必要が新しい
データベース:
MySQLの 使用例;押します
答えはする必要があります:
データベースが変更されました
今では、テーブルを構築することができますし、次のフィールドがあります:
インデックス番号 - 整数
ユーザー名 - 最大長さが30の文字列
ユーザーの姓 - 50の最大長の文字列
情報の自由 - 文字列の最大長は100です
MySQLでは、次のコマンドをテーブルを作成する入力します:
MySQLの は、(30)、LastNameのvarchar型(50)、フリーテキストはvarchar(100))UserNameのvarchar型のテーブルのtblのを(idxの整数(3)を作成します。押します
答えはする必要があります:
クエリは[OK]を0行は(0.01秒)の影響を受け
さて、MySQLからテーブルで何かのように、コマンドを入力見えるかを確認するプロンプトを見てみましょう:
tblはからのMySQL を見るの列。押します
我々は、以下の結果を取得します:
+----------+--------------+------+-----+---------+ -------+
|フィールド|種類|ヌル|キー|デフォルト|エキストラ|
+----------+--------------+------+-----+---------+ -------+
| idxの| int型(3)はい|は| | NULLに| |
|ユーザー名| varchar型(30)| YESに| | NULLに| |
|氏名|はvarchar(50)| YESに| | NULLに| |
|フリーテキスト|はvarchar(100)|はい| | NULLに| |
+----------+--------------+------+-----+---------+ -------+
セット内の4行(0.00秒)
ここでは、新しく作成したテーブル"tblは"コンテンツを見ることができます。
今を見てみましょうかテーブルの内容。次のコマンド:
MySQLの を選択してバックアップのbin bin_old confに設定crawler.tar.gzのcrawler_bin.tar.gzデータeshow eshow_sitemap.html generate.shのgoogle.html google.html.md5ログのmaintニュース:10ニュース:11ニュース:12ニュース:13ニュース: 14ニュース:15ニュース:16ニュース:17ニュース:18ニュース:2ニュース:3つのニュース:4ニュース:5つのニュース:6ニュース:7ニュース:8ニュース:9 outboundLinksMgr.sql種子sitemap.htmlのsvnタスクはxml2dict - 2008.6をtmpにtblはから- tar.gz形式xml2dict読み取り専用です。押します
このコマンドは、"tblは"すべてのデータテーブルを表示するために使用されます。出力は可能性があります:
空のセット(0.07秒)
理由は我々が挿入テーブル内のすべてのデータていないため、この結果を取得します。私たちのテーブル型にいくつかのデータを挿入してみましょう:
tblは値(1、''ラフィー'',''トン'',''だけにMySQL 挿入は、テスト''); ]を入力
クエリは[OK]を、1行が(0.04秒)の影響を受け
見られるように、我々は表の値に挿入さに従って私たちの注文の前にテーブルの定義では、デフォルトの順序を使用するからです。我々は、設定することができます
次のように注文は、データセットの、構文は:
tblはにMySQL を挿入(idxで、ユーザー名、氏名、フリーテキスト)の値(1、''ラフィー'',''トン'',''だけテスト''); ]を入力
さて、今私たちが見ることができるかテーブルの内容:
MySQLの を選択してバックアップのbin bin_old confに設定crawler.tar.gzのcrawler_bin.tar.gzデータeshow eshow_sitemap.html generate.shのgoogle.html google.html.md5ログのmaintニュース:10ニュース:11ニュース:12ニュース:13ニュース: 14ニュース:15ニュース:16ニュース:17ニュース:18ニュース:2ニュース:3つのニュース:4ニュース:5つのニュース:6ニュース:7ニュース:8ニュース:9 outboundLinksMgr.sql種子sitemap.htmlのsvnタスクはxml2dict - 2008.6をtmpにtblはから- tar.gz形式xml2dict読み取り専用です。押します
結果は:
+------+----------+----------+-------------+
| idxの|ユーザー名|氏名|フリーテキスト|
+------+----------+----------+-------------+
| 1 |ラフィー|トンはちょうどテスト|件
+------+----------+----------+-------------+
セット内の1行(0.00秒)
今の構造と各セルの内容を確認できます。
今ではデータを削除する。私たちが入力する必要を達成するには:
tblはからのMySQL の削除場所idxの= 1の制限1;押しますクエリ[OK]を、1行の影響(0.00秒)
さて、いくつかの説明を与える。私たちは"tblは"テーブルのレコードを削除から、1のレコードの値で、これらのidxのフィールドを削除するMySQLを言われて
レコードを削除する制限。我々はレコードを削除の数を制限しない場合は1の場合、idxのは、すべてのレコード(この例では削除されますです
私たちは、1つだけ記録があるが、それにもかかわらず、私は好きなようより明確に)。
残念ながら、我々は再びので、私たちが行って手放す空のテーブルがあります:
tblは値(1、''ラフィー'',''トン'',''だけにMySQL 挿入は、テスト''); ]を入力
クエリは[OK]を、1行が(0.04秒)の影響を受け
あなたが行うことができますもう1つは、指定したフィールドの内容を変更すると、"コマンド"を更新を使用:
MySQLの はtblセットUserNameを= '' Berber''where UserNameの更新= ''ラフィー'';押します
クエリは[OK]を、1行が(0.01秒)の影響を受け
行一致:1変更:1警告:0
このコマンドは、"ラフィー"レコードのすべてのユーザー名を検索し、ベルベル人"に置き換える"。一部を設定し、ここでは必ずしもあると同じ注意してください。我々は、主張することができますが、フィールドを別のフィールドに変更するが見つかりました。また、2つ以上の検索条件を行うことができます。
MySQLの はtblセットUserNameを= '' Rafi''where UserNameの更新= '' Berber''and氏名= ''トン'';押します
クエリは[OK]を、1行が(0.04秒)の影響を受け
このクエリは、ユーザー名の値を変更2つのフィールドを検索します。
[次へ]
パートIII - PHPとMySQLの組み合わせ
このセクションでは、我々は1つのビルのPHPベースのWebサイトをMySQLのテーブルの前に建てられた制御するために使用される作成されます。
私たちは(ことを前提に、次のサイトの構造を確立し、すでに)いくつかの基本的なHTMLの知識を知っている:
1。Index.php3フロントエンド用のテーブルビュー
2。Add.php3はデータを挿入するテーブルに使用される
3。Modify.php3テーブル内のレコードを変更する
4。Del.php3テーブルからレコードを削除するために使用
まず第一に、我々はデータベースを見てみたい:
次のスクリプトをご覧ください。
-------------------------------------------------- ---------------
Index.php3:
します。 html
の head の title Webデータベースのサンプルインデックス /タイトル
/ヘッド
bodyのbgcolor=#ffffff
h2 データはtbl / H2のから
?
()やmysql_connect死ぬ("問題データベースに接続する");
$クエリ="を選択してバックアップビンbin_old confにeshow_sitemap.html generate.shのgoogle.html google.html.md5ログのmaintニュース:10ニュース:11ニュース:12ニュースcrawler.tar.gzのcrawler_bin.tar.gzデータeshowを設定: 13ニュース:14ニュース:15ニュース:16ニュース:17ニュース:18ニュース:2ニュース:3つのニュース:4ニュース:5つのニュース:6ニュース:7ニュース:8ニュース:9 outboundLinksMgr.sql種子sitemap.htmlのsvnタスクがtmpにtblはxml2dict - 2008.6 - tar.gz形式xml2dict読み取り専用"から。
$結果= mysql_db_query("例"、$クエリ);
($結果)(存在する場合
エコー"データベース内のこれらのエントリが見つかりません:
P この / Pが ";
エコー" table width=90%のalign=center border=1 tr
td align=center bgcolor=#00FFFF ユーザー名 /のTD
td align=centerのbgcolor=#00FFFF 姓 /のTD
td align=center bgcolor=#00FFFF ドメイン名 /のTD
td align=center bgcolor=#00FFFF 請求日 /のTD
/ Trの ";
($はr =除いてmysql_fetch_array($結果))中
(
$ idxの= $ r"は、idxの"[編集];
$ユーザ= $ r"は、ユーザー名"]を;
$最終更新日= $ rは"氏名"]を;
$テキスト= $ rの["フリーテキスト"];
エコー" tr
/のTD の td $ idxの
/のTD の td $ユーザー
/のTD の td $最後の
/のTD の td $テキスト
/ Trの ";
)
エコー"/テーブル ";
)
他
(
エコー"データなし";
)
するmysql_free_result($結果);
('' links.x '')を含んでいる;
?
/ボディ
/ Htmlの
-------------------------------------------------- ---------------
さて、いくつかの説明が以下のとおりです:
まず、thml文書を作成する通常のHTMLタグを使用します。私たちはPHPにhtmlで出てくるなら、我々は、 使用できますか?PHPの部分を開くには、これはPHPの文法ではなく、一般的なHTMLとしてテキストの背後にWebサーバを教えてくれます。使用? PHPの一部を終了するには。
()コマンドにmysql_connect PHPとMySQLサーバーへの接続を確立するように指示。接続が成功した場合、スクリプトは、失敗し、場合は、"ダイコマンドメッセージ"問題データベースに接続して印刷する(場合は、にmysql_connectの詳細情報を見ると、他のPHP関数は、http://wwwに行くことが引き続きphp.netは/)の下で文書を検索。
さて、MySQLは我々が上記のようにインストールすると、十分であることについて議論する場合。しかし、もしあなたが)事前にインストールされてMySQLを(ISPのように使用している場合は、次のコマンドを使用してください:
(localhostのユーザー名、パスワード)にmysql_connect;
$ Queryが我々は、MySQLのクエリに、それを実行するmysql_db_queryコマンドを使用します実行するために設定することができます:
$結果= mysql_db_query("例"、$クエリ);
この時、"例"は、データベース名と$ queryは問い合わせを行うことである時。
我々は、テーブルのすべてのデータから取得するためのMySQLコマンドを選択します(上記のように)を使用する:
$クエリ="を選択してバックアップビンbin_old confにeshow_sitemap.html generate.shのgoogle.html google.html.md5ログのmaintニュース:10ニュース:11ニュース:12ニュースcrawler.tar.gzのcrawler_bin.tar.gzデータeshowを設定: 13ニュース:14ニュース:15ニュース:16ニュース:17ニュース:18ニュース:2ニュース:3つのニュース:4ニュース:5つのニュース:6ニュース:7ニュース:8ニュース:9 outboundLinksMgr.sql種子sitemap.htmlのsvnタスクがtmpにtblはxml2dict - 2008.6 - tar.gz形式xml2dict読み取り専用"から。
エラーがfalseが返された場合は正常に実施されれば$結果は、単に役割を説明、この関数は、MySQLのクエリの結果の識別子の結果が返されます。に戻る結果ではなく、後で情報を私たちが必要に変換することができます識別子。
今、我々があるかどうか、データベースのレコードにあるチェックし、必要な結果はhtmlの印刷出力に基づいて構造を形成する場合。
私たちは、次のコマンドと構文を使用する場合ためにあるかどうかのデータは、確認する:
場合(引数)(
"何かをしないでください。"
)エルス(
"何か別のか。"
)
次に、""が引数= trueをしたときにコマンドを実行する必要がある何かを行うには、"何か"違っていたか、引数=
falseの場合、コマンドが実行される。
私たちはHTMLのテーブル構造を作成する出力HTMLタグの数にコマンドエコーを使用してください。 PHPのコマンドの出力からテキストのみがHTMLコンテンツとして表示されます - PHPのコマンド自体はhtmlのコンテンツとしてではない。
別のコマンドは次の形式を使用することが我々は、コマンドを使用します:
(引数))(中
"何か"が行う。
)
引数でループ= trueをしながら繰り返しを停止しませんが、()命令で設定の実装です。
ここでは、whileループとPHPの$関数はr =除いてmysql_fetch_array($ resultは)と組み合わせること。この関数の結果によると、識別に対応する
フーは、レコードを取得する相関配列(連想配列)$ rを、それが配列としてフィールド名を使用してになります
キーを押します。このスクリプトでは、配列を:に$ r ['' idxの''],$ rの[''ユーザー名''],$ rを[''氏名'']と取得します
$ Rの[''フリーテキスト'']。
また、私たちは$を使用してrを[0]整然とした配列になりますするmysql_fetch_row関数を使用できますが、$ rを[1]
$研究[2]は$ r [3]を適切な値を取得します。
これらの機能をより詳細な情報の詳細については、訪問http://www.php.net/してください。
今ではすべての情報を持って、私たちは、html形式で出力することができます:
エコー" tr
/のTD の td $ idxの
/のTD の td $ユーザー
/のTD の td $最後の
/のTD の td $テキスト
/ Trの ";
今我々は、いくつかのリソースのリリースでは、開放するmysql_free_resultを($結果)関数を使用してMySQL接続を解放することができます。
[次へ]
もう1つの便利な機能は、PHPスクリプトのテキストファイルに含まれる。私たちはあなたが(たとえば、いくつかの再利用可能なコードをあると仮定しましょう、その
これは、ページに)、我々は、このコードと時間を節約することができる関数インクルードを使用することができますリンクします。したい場合はまた、コードを変更する、私たちは含まれているファイルの内容を変更する必要が、それが発効を含むすべてのドキュメント、されます。
ここでは、テキストをLinks.xという名前のファイルを作成し、それが我々はすべてのリンクのすべてのページのメニューを使用する格納されます。
P この / pの
ul の
LI に a href="index.php3" ホーム /
LI に a href="add.php3" は、データベース / に新しいエントリを追加します。
LI に a href="edit.php3" 編集のエントリ /
LI に a href="del.php3" 削除データベース / のエントリ
/乙
構文が含まれている:
あり('' included_text_file '');
今では使用できますか? PHPの一部を閉じるには、および/ボディ / htmlの HTMLページを終了する ている。
フォームデータの増加を使用
私たちは、次のコードを見てみましょう:
-------------------------------------------------- ----------------
します。 html
の head title がデータベース へ/タイトル エントリを追加します
/ヘッド
bodyのbgcolor=#ffffff
h1 エントリを / h1という追加
method="post" action="add2tbl.php3" を form
table width=90% align=center
tr の td 指数は: は/ size=3はmaxlength=3 は/ /トランジスタ のTD の td の input type=textのname="idx"にtd
tr の td UserNameは: は/ =テキスト名="ユーザー名"のサイズ の td 入力タイプのTD = 40
もしmaxlengthは= 100 の / /トランジスタ のTD
tr の td 氏名は: は/ =テキスト名="氏名"のサイズ の td 入力タイプのTD = 40
もしmaxlengthは= 100 の / /トランジスタ のTD
tr の td フリーテキストは: は/ s=40はmaxlength=100 は/ /トランジスタ のTD の td の input type=textのname="FreeText"にtd
tr の td は/ の td input type=submit value=add は/ /トランジスタ を のTD td
/フォーム
/テーブル
は?PHPのは、('' '');? をlinks.xを含む
/ボディ
/ Htmlの
-------------------------------------------------- ------------------
あなたは、フォームに精通していると、これはかなり単純なスクリプトです。 HTML形式のページで、フォームを設計するには、その提出の後に呼び出さ応じて
add2tbl.php3スクリプト。今、フォームとMySQLテーブルのフィールドは、相対4で構成されるもの:インデックス番号を、のFirstName、LastNameとフリーテキスト。このフォームのMySQLテーブルのフィールド名とフィールド名と同じで、これは利便性のみにする必要がないことに注意。
再び、我々は)リンクを増やすためのコマンド かあり('' links.xの'');? (以前説明したようにインクルードを使用します。
私たちはadd2tbl.php3スクリプトを見てみましょう:
-------------------------------------------------- -----------------
します。 html
の body
?
($ UserNameの場合)
(
()やmysql_connect死ぬ("問題データベースに接続する");
tblは値('' $ idxの'',''$ユーザー名'',''$氏名'',''$フリーテキスト'')";に$クエリ="を挿入
$結果= mysql_db_query("例"、$クエリ);
"データを挿入エコー新しいテーブルを:
P この / Pが ";
$クエリ="セレクトバックアップビンbin_old confにeshow_sitemap.html generate.shのgoogle.html google.html.md5ログのmaintニュース:10ニュース:11ニュース:12ニュースcrawler.tar.gzのcrawler_bin.tar.gzデータeshowを設定: 13ニュース:14ニュース:15ニュース:16ニュース:17ニュース:18ニュース:2ニュース:3つのニュース:4ニュース:5つのニュース:6ニュース:7ニュース:8ニュース:9 outboundLinksMgr.sql種子sitemap.htmlのsvnタスクはtmpをxml2dict - 2008.6 - tar.gz形式xml2dict読み取り専用のFROM tblは";
$結果= mysql_db_query("例"、$クエリ);
($結果)場合
(
エコー" table width=90%のalign=center border=1 tr
td align=centerのbgcolor=#00FFFF のidxの /のTD
td align=center bgcolor=#00FFFF ユーザー名 /のTD
td align=centerのbgcolor=#00FFFF 姓 /のTD
td align=center bgcolor=#00FFFF フリーテキスト /のTD
/ Trの ";
($はr =除いてmysql_fetch_array($結果))中
(
$ idxの= $ r"は、idxの"[編集];
$ユーザ= $ r"は、ユーザー名"]を;
$最終更新日= $ rは"氏名"]を;
$無料= $ rの["フリーテキスト"];
エコー" tr
/のTD の td $ idxの
/のTD の td $ユーザー
/のTD の td $最後の
/のTD の td $無料
/ Trの ";
ループは終了します)/ /が
エコー"/テーブル ";
)
他
(
エコー"データなし";
)/ /場合は最後に($結果)
)
他
(
エコー"いいえUserNameの入社くださいバックと再入力のユーザ名に行く";
)/ /場合は最後に($ユーザー名)
エコー" P この / Pが ";
('' links.x '')を含んでいる;
?
/ボディ
/ Htmlの
-------------------------------------------------- ----------
の説明:
このセクションでは、2つの主要部分を含んでいます。データ以前のフォームから得られた最初の部分は、挿入、それらをデータベースに挿入します。パートII
データベースからの内容のテーブルを出力する。プレゼンテーションの一部として私の見解データベース内の同じ2番目の部分。
パートI:
まず、いつものように、我々は、同じデータベース接続()にmysql_connectを使用します。
その後、我々は次のクエリを使用して:
tblは値('' $ idxの'',''$'',''$氏名'',''$フリーテキスト'')";に$クエリ="を挿入
、フロント$ idxの上を通過、$ UserNameは、$ LastName、および$フリーテキストの変数から、このクエリフォームを使用してtblはテーブルに挿入しています。
私は、スクリプト内のコメントをした注意してください。注意は、この旅の後半は無視されます"//",サーバーを使用することができます。
シンプルな、それはありますか?
データベースからレコードを編集:
Let 'sは、我々は既存のデータベースレコードを変更するとします。前に、我々はデータベースに存在するフィールドの値を設定するために呼び出さSQLコマンドのセットを参照してください。我々は、レコード全体のデータベースを変更するこのコマンドを使用します。
次のスクリプトを考えてみましょう:
-------------------------------------------------- ---------
edit.php3:
htm
の head title が/タイトル データベース からエントリを編集する
/ヘッド
bodyのbgcolor=#ffffff
h1 エントリを編集 / h1という
?
()やmysql_connect死ぬ("問題データベースに接続する");
$クエリ="を選択してバックアップビンbin_old confにeshow_sitemap.html generate.shのgoogle.html google.html.md5ログのmaintニュース:10ニュース:11ニュース:12ニュースcrawler.tar.gzのcrawler_bin.tar.gzデータeshowを設定: 13ニュース:14ニュース:15ニュース:16ニュース:17ニュース:18ニュース:2ニュース:3つのニュース:4ニュース:5つのニュース:6ニュース:7ニュース:8ニュース:9 outboundLinksMgr.sql種子sitemap.htmlのsvnタスクがtmpにtblはxml2dict - 2008.6 - tar.gz形式xml2dict読み取り専用"から。
$結果= mysql_db_query("例"、$クエリ);
($結果)場合
(
エコー"データベース内のこれらのエントリ:て
"が見つかりません。
エコー" table width=90%のalign=center border=1 tr
td align=centerのbgcolor=#00ffff のidxの /のTD
td align=center bgcolor=#00FFFF ユーザー名 /のTD
td align=centerのbgcolor=#00FFFF 姓 /のTD
td align=center bgcolor=#00FFFF フリーテキスト /のTD
/ Trの ";
($はr =除いてmysql_fetch_array($結果))中
(
$ idxの= $ r"は、idxの"[編集];
$ユーザ= $ r"は、ユーザー名"]を;
$最終更新日= $ rは"氏名"]を;
$テキスト= $ rの["フリーテキスト"];
エコー" tr
td align=center
aは/ /のTD $ idxの をhref="editing.php3?idx=$idx&user=$user&last=$last&text=$text"
/のTD の td $ユーザー
/のTD の td $最後の
/のTD の td $テキスト
/ Trの ";
)
エコー"/テーブル ";
)
他
(
エコー"データなし";
)
するmysql_free_result($結果);
('' links.x '')を含んでいる;
?
/ボディ
/ Htmlの
-------------------------------------------------- -------
ここにいくつかのコードに精通して見ることができるように。ただ、データベーステーブルの内容の最初の部分を出力します。その同じ行されていません:
aは$ idxの をhref="editing.php3?idx=$idx&user=$user&last=$last&text=$text" /
この行は、editing.php3へのリンクを確立し、新しいスクリプトに渡されたいくつかの変数を。フォームと同じ方法でのみ
リンクを使用するです。我々は、に情報を変換します:変数と値を示します。その中で、"サインをプリントアウトするために、"使用する必要が注意してください場合、サーバー
ウィルPHPスクリプトと情報の一部として印刷されて、それを参照してください。我々は、データベース内のすべてのレコードを変換するためにされているので、私たちは、テーブル内の正確なデータので、我々は簡単に変更することができます得ることができるか
番号。
-------------------------------------------------- -----------
Editing.php3:
します。 html
の head title が/タイトル エントリ 編集
/ヘッド
bodyのbgcolor=#ffffff
h1 は エントリを / h1という編集
method="post" action="editdb.php3" を form
table width=90% align=center
tr の td idxのは: / の td のTD?phpを"$ idxの";? /エコー / トランジスタ のTD
tr の td UserNameは: は/ =テキスト名= UserNameのサイズ= 40もしmaxlength の td 入力タイプのTD = 100
値=" ?phpのエコー"$ユーザ";? " /は /トランジスタ のTD
tr の td 氏名は: は/ =テキスト名=氏名サイズ= 40もしmaxlength の td 入力タイプのTD = 100
値=" ?phpのエコー"$最後";? " /は /トランジスタ のTD
tr の td フリーテキストは: は/ =テキスト名=フリーテキストサイズ= 100 = 40最大長を の td 入力タイプのTD
値=" ?phpのエコー"$テキスト";? " /は /トランジスタ のTD
tr の td は/ の td input type=submit value="Edit it!" は/ /トランジスタ /テーブル を のTD td
入力タイプ=は隠れた名= idxの値=" ?PHPの"$ idxの";? " エコー
/フォーム
は?PHPのは、('' '');? をlinks.xを含む
/ボディ
/ Htmlの
-------------------------------------------------- -------------
さて、このスクリプトは非常に簡単です。我々は、フォームが印刷されるとき、それは現在のデータをvalue属性で inputのtype= コマンドによって記録された記録心配する必要があります。データは前ページからの上に渡されます。
[次へ]
我々が記録された情報を変更しない場合は今、それは、それがデフォルト値です現在の値が返されます。私たちはフィールドの値、フィールドの値を変更する場合
新しい値になります。その後、我々は別のスクリプトの新しい値を渡すことができます、それはMySQLのテーブルの値を変更します。
-------------------------------------------------- -----------
editdb.php3:
?PHPの
()やmysql_connect死ぬ("問題データベースに接続する");
$クエリは、"tblはセットを更新=
idxの= '' $ idxの''、ユーザー名= '' $ UserNameの''、氏名= '' $ LastNameの''、フリーテキスト= '' $ FreeText''where
idxの= '' $ idxの''";
$結果= mysql_db_query("例"、$クエリ);
$クエリ="セレクトバックアップビンbin_old confにeshow_sitemap.html generate.shのgoogle.html google.html.md5ログのmaintニュース:10ニュース:11ニュース:12ニュースcrawler.tar.gzのcrawler_bin.tar.gzデータeshowを設定: 13ニュース:14ニュース:15ニュース:16ニュース:17ニュース:18ニュース:2ニュース:3つのニュース:4ニュース:5つのニュース:6ニュース:7ニュース:8ニュース:9 outboundLinksMgr.sql種子sitemap.htmlのsvnタスクがtmpにxml2dict - 2008.6 - tar.gz形式xml2dict読み取り専用のFROM tblは";
$結果= mysql_db_query("例"、$クエリ);
($結果)場合
(
エコー"データベース内のこれらのエントリが見つかりません:
P この / Pが ";
エコー" table width=90%のalign=center border=1 tr
td align=centerのbgcolor=#00FFFF のidxの /のTD
td align=center bgcolor=#00FFFF ユーザー名 /のTD
td align=centerのbgcolor=#00FFFF 姓 /のTD
td align=center bgcolor=#00FFFF フリーテキスト /のTD
/ Trの ";
($はr =除いてmysql_fetch_array($結果))中
(
$ idxの= $ r"は、idxの"[編集];
$ユーザ= $ r"は、ユーザー名"]を;
$最終更新日= $ rは"氏名"]を;
$テキスト= $ rの["フリーテキスト"];
エコー" tr
/のTD の td $ idxの
/のTD の td $ユーザー
/のTD の td $最後の
/のTD の td $テキスト
/ Trの ";
)
エコー"/テーブル ";
)
他
(
エコー"データなし";
)
するmysql_free_result($結果);
('' links.x '')を含んでいる;
?
-------------------------------------------------- ---------
基本的に、1つの事が心配される約次の行です:
$は、クエリは、"tblのセットidxのを= '' $ idxの''更新= UserNameは= '' $ UserNameの''、LastNameが= '' $ LastNameの''、フリーテキスト= '' $はFreeText''where = '' $ idxのをidxの''";
注:いくつかの構文MySQLのと同じ我々の以前の解釈の。もう一つは、スクリプトにテーブルが条例の数に等しい場合は、= $ idxのレコードをidxの変更に注意を払って、これらのレコードが変更されます$ idxのレコードをidxの。我々は厳密にしたい場合は、我々は次の句のような外観を変更することができます:
$は、クエリは、"tblのセットidxのを= '' $ idxの''更新= UserNameは= '' $ UserNameの''、LastNameが= '' $ LastNameの''、フリーテキスト= '' $はFreeText''where = '' $ idxのをidxの''とユーザー名= '' $ UserName''and氏名= '' $ LastName''andフリーテキスト= '' $フリーテキスト''";
この構文は、単にidxのを確認し、すべてのフィールドではないチェックします。
レコードを削除データベースから:
まあ、簡単に削除します。私たちはまだ1つ上の注意を編集するレコードを(本質的に同じ選択を削除を選択する2つのスクリプトを:必要
)は、本当に削除して新しいフォームを印刷するために同じものを記録。
-------------------------------------------------- ------------
del.php3:
します。 html
の head title が/タイトル データベース からエントリを削除する
/ヘッド
bodyのbgcolor=#ffffff
h1 デルのエントリ / h1という
?
()やmysql_connect死ぬ("問題データベースに接続する");
$クエリ="を選択してバックアップビンbin_old confにeshow_sitemap.html generate.shのgoogle.html google.html.md5ログのmaintニュース:10ニュース:11ニュース:12ニュースcrawler.tar.gzのcrawler_bin.tar.gzデータeshowを設定: 13ニュース:14ニュース:15ニュース:16ニュース:17ニュース:18ニュース:2ニュース:3つのニュース:4ニュース:5つのニュース:6ニュース:7ニュース:8ニュース:9 outboundLinksMgr.sql種子sitemap.htmlのsvnタスクがtmpにtblはxml2dict - 2008.6 - tar.gz形式xml2dict読み取り専用"から。
$結果= mysql_db_query("例"、$クエリ);
($結果)場合
(
エコー"データベース内のこれらのエントリが見つかりません:
P この / Pが ";
エコー" table width=90%のalign=center border=1 tr
td align=centerのbgcolor=#00ffff のidxの /のTD
td align=center bgcolor=#00FFFF ユーザー名 /のTD
td align=centerのbgcolor=#00FFFF 姓 /のTD
td align=center bgcolor=#00FFFF フリーテキスト /のTD
/ Trの ";
($はr =除いてmysql_fetch_array($結果))中
(
$ idxの= $ r"は、idxの"[編集];
$ユーザ= $ r"は、ユーザー名"]を;
$最終更新日= $ rは"氏名"]を;
$テキスト= $ rの["フリーテキスト"];
エコー" tr
td align=center
のhref ="dele.php3未満?
idxの= $ idxで&UserNameは= $ユーザー&氏名= $最後&フリーテキスト= $テキスト" $ idxの / /のTD
/のTD の td $ユーザー
/のTD の td $最後の
の td $ dtext /のTD
/ Trの ";
)
エコー"/テーブル ";
)
他
(
エコー"データなし";
)
するmysql_free_result($結果);
('' links.x '')を含んでいる;
?
/ボディ
/ Htmlの
-------------------------------------------------- -----------
我々は、このスクリプトを使用し、スクリプトを編集のような場合は、手順そこで見ることができるように。
-------------------------------------------------- ------------
dele.php3:
?PHPの
()やmysql_connect死ぬ("問題データベースに接続する");
tblはドルからクエリ="削除場所idxで= '' $ idx''andユーザー名= '' $ UserName''and
氏名= '' $ LastName''andフリーテキスト= '' $フリーテキスト''";
$結果= mysql_db_query("例"、$クエリ);
$クエリ="セレクトバックアップビンbin_old confにeshow_sitemap.html generate.shのgoogle.html google.html.md5ログのmaintニュース:10ニュース:11ニュース:12ニュースcrawler.tar.gzのcrawler_bin.tar.gzデータeshowを設定: 13ニュース:14ニュース:15ニュース:16ニュース:17ニュース:18ニュース:2ニュース:3つのニュース:4ニュース:5つのニュース:6ニュース:7ニュース:8ニュース:9 outboundLinksMgr.sql種子sitemap.htmlのsvnタスクがtmpにxml2dict - 2008.6 - tar.gz形式xml2dict読み取り専用のFROM tblは";
$結果= mysql_db_query("例"、$クエリ);
($結果)場合
(
echo "Found these entries in the database:<br><p></p>";
echo "<table width=90% align=center border=1><tr>
<td align=center bgcolor=#00FFFF>idx</td>
<td align=center bgcolor=#00FFFF>User Name</td>
<td align=center bgcolor=#00FFFF>Last Name</td>
<td align=center bgcolor=#00FFFF>Free Text</td>
</tr>";
while ($r = mysql_fetch_array($result))
(
$idx = $r["idx"];
$user = $r["UserName"];
$last = $r["LastName"];
$text = $r["FreeText"];
echo "<tr>
<td>$idx</td>
<td>$user</td>
<td>$last</td>
<td>$text</td>
</tr>";
)
echo "</table>";
)
他
(
echo "No data.";
)
mysql_free_result($result);
include (''links.x'');
?
-------------------------------------------------- -------------
这个脚本看上去很熟悉,唯一不同的就是删除查询的语法: $query = "delete from tbl where idx=''$idx'' and UserName=''$UserName'' and LastName=''$LastName'' and FreeText=''$FreeText''";
这个查询将会删除所有与前面的脚本传递来的信息相配匹的记录。容易吧。
好了,这就是全部内容了。