PHP入門チュートリアル-データベース操作_PHPチュートリアル

WBOY
リリース: 2016-07-13 17:09:53
オリジナル
1036 人が閲覧しました

PHPチュートリアル入門 - データベースチュートリアル操作

このチュートリアルでは、PHP と MySQL の次の機能を使用して、小さな Web サイトを段階的に構築します。 1. データベースを表示します。 2. データベースレコードを編集します。 3. データベースレコードを変更します。 4. データベース内のレコードを削除します。
MySQLとPHPを同時に学び、一緒に感じていきます。この記事は、ここから直接学習できます。Apache+PHP+Mysql のインストール方法と設定方法がわからない場合は、Web 教育ネットワークの関連記事を参照してください。
まず Web サーバーを実行します (PHP 拡張機能が追加されています)。MySQL を実行します。
MySQL データベースを作成して操作する:
まず、使用するデータベースとテーブルを作成する必要があります。データベースの名前は「example」、テーブルの名前は「tbl」で、識別番号、名、姓、および情報のフィールドがあります。 mysql チュートリアル ターミナルを使用してデータベースの作成とテーブル定義の作業を完了するには、c:mysqlbinmysql.exe をダブルクリックするか実行するだけです。
MySQL でどのテーブルが定義されているかを確認したい場合は、次のコマンドを使用できます (mysql> はターミナル プロンプトであることに注意してください):
Mysql> データベースを表示します
このコマンドは次の情報を表示する場合があります:
+----------+
| データベース | +----------+
|mysql | | テスト | +----------+
2 行セット (0.01 秒)
新しいデータベース (例) を定義するには、次のように入力します:
Mysql> データベースの作成
; 次のような答えが表示されます:
クエリは OK、1 行が影響を受けました (0.17 秒) 見事、新しいデータベースができました。これでライブラリに新しいテーブルを作成できますが、その前に新しいデータベースを選択する必要があります:
Mysql> の使用例; 答えは次のようになります:
データベースが変更されました
これで、次のフィールドを含むテーブルを作成できます:
インデックス番号 - 整数
ユーザー名 - 最大長 30 の文字列
ユーザーの姓 - 最大長 50 の文字列
無料メッセージ - 最大長 100 の文字列
MySQL プロンプトで次のコマンドを入力してテーブルを作成します:
MySQL> テーブル tbl を作成 (idx integer(3), UserName varchar(30), LastName varchar(50), FreeText varchar(100)); 答えは次のようになります:
クエリ OK、影響を受ける行は 0 (0.01 秒)
さて、MySQL プロンプトからテーブルを表示するとどうなるかを見てみましょう。次のコマンドを入力します。
MySQL> テーブルから列を表示します
次の結果が得られます:
+----------+---------------+------+-----+----------- -+ -------+
| フィールド タイプ | デフォルト | +----------+---------------+------+-----+----------- -+ -------+
| はい | | ユーザー名 (30) | | 姓 (50) | | varchar(100) | はい | +----------+---------------+------+-----+----------- -+ -------+

4行セット(0.00秒)
ここでは、作成したばかりのテーブル「tbl」の内容を確認できます。
それでは、表の内容を見てみましょう。次のコマンドを入力します:
MySQL> 表から * を選択 このコマンドは、テーブル「tbl」内のすべてのデータを表示するために使用されます。出力は次のようになります:
空のセット (0.07 秒) でこの結果が得られる理由は、テーブルにデータを挿入していないためです。次のように入力して、テーブルにデータを挿入しましょう:
MySQL> tbl 値に挿入 (1,'Rafi','Ton','Just a test'); クエリは OK、1 行が影響を受けました (0.04 秒)
上でわかるように、デフォルトの順序が使用されているため、テーブルに挿入する値は、前にテーブルを定義した順序になります。データの順序を設定できます。構文は次のとおりです:
MySQL> tbl (idx,UserName,LastName,FreeText) 値に挿入 (1,'Rafi','Ton','Just a test'); さて、テーブルの内容をもう一度見てみましょう:
MySQL> 表から * を選択 今回の結果は以下の通りです
+------+----------+----------+---------------+
| IDX | 姓 | +------+----------+----------+---------------+
| 1 | テストです | +------+----------+----------+---------------+
セット内の 1 行 (0.00 秒)
これで、テーブルの構造と各セルの内容が確認できました。
次に、データを削除したいと思います。これを達成するには、次のように入力する必要があります:
MySQL> idx=1 のテーブルから削除 1; クエリ OK、1 行が影響を受けます (0.00 秒) さて、いくつか説明してください。 MySQL に対して、「tbl」テーブルからレコードを削除し、idx フィールド値が 1 のレコードを削除し、削除を 1 つのレコードのみに制限するように指示しています。削除されるレコードの数を 1 に制限しない場合、idx 1 を持つすべてのレコードが削除されます (この例ではレコードは 1 つだけですが、これをより明確にしたかっただけです)。
残念ながら、また空のテーブルができてしまったので、もう一度入力してみましょう:
MySQL> tbl 値に挿入 (1,'Rafi','Ton','Just a test'); クエリは OK、1 行が影響を受けました (0.04 秒)
他にできることは、「update」コマンドを使用して、指定したフィールドの内容を変更することです:
MySQL>更新テーブル set UserName='Berber' where UserName='Rafi'; クエリは OK、1 行が影響を受けました (0.01 秒)
一致した行: 1 変更: 1 警告: 0
このコマンドは、ユーザー名が「Rafi」であるすべてのレコードを検索し、それを「Berber」に変更します。 set 部分と where 部分は同じである必要はないことに注意してください。 1 つのフィールドを検索しても、別のフィールドを変更することができます。さらに、2 つ以上の条件で検索を実行することもできます。
MySQL>更新テーブル set UserName='Rafi' where UserName='Berber' and LastName='Ton'; クエリは OK、1 行が影響を受けました (0.04 秒)
このクエリは 2 つのフィールドを検索し、UserName の値を変更します


PHP と MySQL の組み合わせ
このパートでは、前に作成した MySQL テーブルを制御するための単純な PHP ベースの Web サイトを作成します。
次のサイト構造を構築します (HTML の基本的な知識をすでに知っていると仮定します):
1. フロントエンドでテーブルを表示するために、index.php3 が使用されます。 2. テーブルにデータを挿入するために、add.php3 が使用されます
3. Modify.php3 はテーブル内のレコードを変更するために使用されます 4. del.php3 はテーブル内のレコードを削除するために使用されます
まず、データベースをチェックして、次のスクリプトを見てみましょう:
-------------------------------------------------- ---------------------------------
Index.php


  Web データベース サンプル インデックス
  
  
  

tbl からのデータ


  
  mysql_connect() または die (「データベースへの接続の問題」);
  $query = "テーブルから * を選択";
  $result = mysql_db_query("例", $query);
  if ($result) {
  echo "データベース内で次のエントリが見つかりました:

";
  echo "<表幅=90% align=center border=1>
  ユーザー名
  姓
  ドメイン名
  リクエスト日
  ";
  while ($r = mysql_fetch_array($result))
  {
  $idx = $r["idx"];
  $user = $r["ユーザー名"];
  $last = $r["姓"];
  $text = $r["フリーテキスト"];
  エコー「
」   $idx
  $user
  $last
  $text
  ";
  }
  echo "";
  }
  それ以外は
  {
  エコー「データがありません。」;
  }
  mysql_free_result($result);
  ('links.x') を含めます。
  ?>
  
   
-------------------------------------------------- ------------------------------
  好、下面给出いくつか说明:
  HTML から PHP に変換したいときは、これで PHP 部分を終了します。
  mysql_connect() コマンドは、PHP が MySQL サーバーとの接続を確立したことを報告します。接続の確立が成功した場合は続行され、失敗した場合は、「データベースへの接続の問題」というコマンドの情報が出力されます (mysql_connect に関するその他のメッセージが表示される場合)。情報およびその他の PHP 関数は、http://www.php.net の文書内から参照できます。   ただし、MySQL が上で承認されたとおりにインストールされている場合は、これで十分です。ただし、使用されている MySQL (オブジェクト ISP) が、下にあるコマンドを使用する場合は、次のコマンドを使用します。   mysql_connect (ローカルホスト、ユーザー名、パスワード);
  $query を MySQL 内で実行することを考えてから、mysql_db_query コマンドを使用して実行することができます。   $result = mysql_db_query("例", $query);
  このとき、「example」はデータベースの名前を示し、$query は実行されるクエリを示します。   私は MySQL コマンド select (上記の説明) を使用して、表からすべてのデータを取得します:
  $query = "テーブルから * を選択";
  次の結果の機能を個別に処理し、正常に実行された場合、関数は 1 つのテスト結果の 1 つの MySQL 結果通知を返し、問題が発生した場合は false を返します。私に必要な情報です。
  そこで、データ内にデータが存在するかどうかを検査し、存在する場合は結果を html のテーブル構造に出力することを考えています。   if (引数) {
  「何かをしてください。」
  } その他 {
  「何か違うことをしてください。」
  }
  このとき、「何かを行う」の場合は引数 = true の場合に実行されるコマンド、「別の処理を行う」の場合は引数 = false の場合に実行されるコマンドになります。   HTML のテーブル構造を構築するためにいくつかの HTML フラグを出力するために、echo コマンドを使用していることに注意してください。PHP コマンドから出力されたテキストのみが HTML コンテンツとして表示されます - PHP コマンド自体は HTML コンテンツとして表示されません。これはwhile命令、次のような格式を使用します:
  while (引数)) {
  "何かをする必要がある";
  }
  whilecycle は、argument=true の場合は停止せずに繰り返され、{} 内の命令コレクションが実行されます。ここでは、while ループと PHP 関数 $r=mysql_fetch_array($result) を組み合わせます。この関数は、対応する結果識別子に基づいてレコードを取得し、フィールド名を配列キーとして使用して結果を連想配列 $r に配置します。私たちのスクリプトでは、配列 $r['idx']、$r['UserName']、$r['LastName']、
を取得します。 $r['フリーテキスト']。
また、mysql_fetch_row 関数を使用して、結果を順序付けされた配列に入れることもできます。$r[0]、$r[1]、$r[2]、および $r[3] を使用して、対応する値を取得できます。 。
すべての情報が揃ったので、それを HTML テーブルに出力できます:
以下、引用内容です
エコー「
」 $idx $ユーザー $last $text ";
これで、mysql_free_result($result) 関数を使用して MySQL 接続を解放し、一部のリソースを解放できるようになりました。
PHP のもう 1 つの便利な機能は、スクリプトにテキスト ファイルを含めることができることです。再利用可能なコード (他のページへのリンクなど) があるとします。 include 関数を使用すると、コードと時間を節約できます。さらに、このコードを変更したい場合は、インクルードされたファイルの内容を変更するだけでよく、そのコードはそのコードを含むすべてのファイルに反映されます。
ここでは、各ページで使用するすべてのリンク メニューを保存する Links.x というテキスト ファイルを作成します。

include の構文は次のとおりです:
インクルード ('include_text_file')
ここで、?> を使用して PHP 部分を閉じ、 を使用して HTML ページを終了します。
フォームを使用してデータを追加する 次のコードを見てみましょう:
-------------------------------------------------- ---------------------------------
データベースにエントリを追加

エントリを追加

<フォームメソッド="post" アクション="add2tbl.php3"> <表の幅=90% 整列=中央> インデックス: ユーザー名: maxlength=100>
姓: maxlength=100> フリーテキスト: -------------------------------------------------- ---------------------------------
フォームに精通していると仮定すると、これは非常に単純なスクリプトです。 HTML ページに基づいてフォームを設計し、送信後に add2tbl.php3 スクリプトを呼び出します。フォームは、MySQL テーブルに対応する 4 つのフィールド (インデックス番号、FirstName、LastName、FreeText) で構成されています。このフォームのフィールド名は MySQL テーブルのフィールド名と同じですが、これは便宜上のものであり、必須ではないことに注意してください。
リンクを追加するには、もう一度 include コマンド を使用します。
  让我们看一下add2tbl.php3 脚本:
  -------------------------------------------------- ------------------------------
  
  
  
  if ($UserName)
  {
  mysql_connect() または die (「データベースへの接続の問題」);
  $query = "tbl 値に挿入 ('$idx','$UserName','$LastName','$FreeText')";
  $result = mysql_db_query("例", $query);
  echo "データが挿入されました。新しいテーブル:

";
  $query = "SELECT * FROM tbl";
  $result = mysql_db_query("例", $query);
  if ($result)
  {
  echo "<表幅=90% align=center border=1>
  idx
  ユーザー名
  姓
  フリーテキスト
  ";
  while ($r = mysql_fetch_array($result))
  {
  $idx = $r["idx"];
  $user
  注意してください。注釈には「//」を使用できますが、サーバーはこの行の後の部分を省略します。  

シンプルですね。データベースからレコードを編集する: データベースに存在するレコードを変更するとします。先ほど、データベース内のフィールドの値を設定するために使用される set という SQL コマンドがあることを見てきました。このコマンドを使用して、データベース内のレコード全体を変更します。次のスクリプトについて考えてみましょう:
-------------------------------------------------- ---------------------------------
edit.php:
データベースからのエントリの編集

エントリを編集

{
echo "データベース内に次のエントリが見つかりました:
"; echo "<表幅=90% align=center border=1>
idx ユーザー名 姓 フリーテキスト ";
while ($r = mysql_fetch_array($result))
{
$idx = $r["idx"]; $user = $r["ユーザー名"]; $last = $r["姓"]
$text = $r["フリーテキスト"]
エコー「
$idx $ユーザー $last $text ";
}
エコー ""; }
それ以外は
{
エコー「データがありません。」 }
mysql_free_result($result); ('links.x') を含める

-------------------------------------------------- ----------------------------------
ご覧のとおり、ここのコードはある程度見慣れたものです。最初の部分は、データベース内のテーブルの内容を出力するだけです。 1 行が異なることに注意してください:
$idx この行は、editing.php3 へのリンクを作成し、いくつかの変数を新しいスクリプトに渡します。リンクが使用される点を除けば、フォーム メソッドと非常によく似ています。情報を変数と値に変換します。 「 」シンボルを出力するには、「 」を使用する必要があることに注意してください。そうしないと、サーバーはそれを PHP スクリプトの一部として認識し、出力メッセージとして使用します。
テーブル内の正確なデータを取得して簡単に変更できるように、データベース内のすべてのレコードを に変換したいと考えています。
-------------------------------------------------- ---------------------------------
php の編集
エントリの編集

エントリを編集する

<フォームメソッド="post" action="editdb.php3"> <表の幅=90% 整列=中央> idx: ユーザー名:<入力タイプ=テキスト名=ユーザー名サイズ=40最大長=100
value=""> LastName: value=""> フリーテキスト:value=""> "> -------------------------------------------------- ---------------------------------
さて、このスクリプトは非常に単純です。注意する必要があるのは、フォームを印刷するときに、現在記録されているデータが コマンドの value 属性を通じて記録されるということです。このデータは前のページから渡されます。
ここで、記録された情報を変更しない場合、デフォルト値である現在の値が返されます。フィールドの値を変更すると、フィールドの値は新しい値に変更されます。次に、新しい値を別のスクリプトに渡すと、MySQL テーブルの値が変更されます。
-------------------------------------------------- ---------------------------------
editdb.php:
mysql_connect() または die (「データベースへの接続の問題」); $query = "TBL セットを更新します
idx='$idx',UserName='$UserName',LastName='$LastName',FreeText='$FreeText' ここで
idx=’$idx’”; $result = mysql_db_query("例", $query); $query = "SELECT * FROM tbl"; $result = mysql_db_query("例", $query); if ($result)
{
echo "データベースで次のエントリが見つかりました:

"; echo "<表幅=90% align=center border=1>
idx ユーザー名 姓 フリーテキスト ";
while ($r = mysql_fetch_array($result))
{
$idx = $r["idx"]; $user = $r["ユーザー名"]; $last = $r["姓"]
$text = $r["フリーテキスト"]
エコー「
」 $idx $ユーザー $last $text ";
}
エコー ""; }
それ以外は
{
エコー「データがありません。」 }
mysql_free_result($result); ('links.x') を含める

-------------------------------------------------- ----------------------------------
基本的に注意すべき点は次の行です:
$query = "更新テーブルセット idx='$idx',UserName='$UserName',LastName='$LastName',FreeText='$FreeText' where idx='$idx'
"; これは、前の MySQL セクションで説明したものと同じ構文であることに注意してください。もう 1 つ、このスクリプトは idx=$idx のレコードを変更することに注意してください。idx が $idx に等しいレコードがテーブル内に複数ある場合、これらのレコードはすべて変更されます。より厳密にしたい場合は、where 句を次のように変更できます:
$query = "update tbl set idx='$idx',UserName='$UserName', LastName='$LastName',FreeText='$FreeText' where idx='$idx' and UserName='$UserName' and LastName ='$LastName' および FreeText='$FreeText'";
この構文は、idx だけでなくすべてのフィールドをチェックします。
データベースからレコードを削除します:
OK、削除は簡単です。まだ 2 つのスクリプトが必要です。1 つは削除するレコードを選択するスクリプト (基本的には上記で編集するレコードを選択するのと同じです)、もう 1 つは実際に削除して新しいテーブルを印刷するスクリプトです。
-------------------------------------------------- ---------------------------------
del.php
データベースからエントリを削除   
  

エントリを削除


  
  mysql_connect() または die (「データベースへの接続の問題」);
  $query = "テーブルから * を選択";
  $result = mysql_db_query("例", $query);
  if ($result)
  {
  echo "データベース内で次のエントリが見つかりました:

";
  echo "<表幅=90% align=center border=1>
  idx
  ユーザー名
  姓
  フリーテキスト
  ";
  while ($r = mysql_fetch_array($result))
  {
  $idx = $r["idx"];
  $user = $r["ユーザー名"];
  $last = $r["姓"];
  $text = $r["フリーテキスト"];
  エコー「
」   
  $idx
  $user
  $last
  $dtext
  ";
  }
  echo "";
  }
  それ以外は
  {
  エコー「データがありません。」;
  }
  mysql_free_result($result);
  ('links.x') を含めます。
  ?>
  
  

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/629705.html技術記事 php教程入门教程-データベース库教程操作 この教程中、我们将一步一步地建立一小网站,使用PHP及MySQL的下面特性: 1. 查看データ库; 2. 编...
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート