2012年9月11日火曜日

PHPとMYSQL




PHPでDBを使用するには、SQLとの連動をするものとし、この接続を支援する関数がたくさんあり​​ます。

この関数について説明してみましょう。

この百科では、MYSQLをベースにして、OracleやMSSQLなどは各自検索を介してその関連の関数を
探してみよできるでしょう。

1。 mysql_connect
2。 mysql_select_db
3。 mysql_query
4。 mysql_num_rows
5。 mysql_fetch_array
6。 mysql_error
7。 mysql_fetch_assoc
8。 mysql_fetch_row
9。 mysql_num_field
10。 mysql_close
これだけ理解してもPHPランDBを使用するのに支障がないことです。

次の例は、関連づけることで、説明がされ混乱しないようにしています^ ^

mysql_connect関数

関数原型:mysql_connect( "ホスト名:ポート"、 "ユーザーID"、 "パスワード")

例]
  $ connect = mysql_connect( "localhost:3306"、 "test"、 "1234");
  if(!$ connect){
    echo "SQLへの接続に失敗しました。";
    exit;
  }
  echo "SQLに正常に接続されてい..";

この関数は、phpでsql dbに各種データを保存したり、抽出して使用するために、sqlに接続する接続リング役割をします。

関数プロトタイプの引数では、SQLに接続するのに重要な役割をしています。

最初、ホスト:ポート=>通常のSQLポート番号は3306ですが、たまにセキュリティ上の問題や避けられない問題のため、
            ポート番号をランダムに変更して使用する場合がありますこの時はポート番号を指定してくれると円滑な
            接続が確立なるでしょう。
            このため、通常ほとんどはホスト名だけ書いていますが、ポート番号が3306でないときは:ポート番号を
            一緒に入れています。

第二に、ID => IDは、SQLに接続するために使用される一種のアカウント名ではIDは
           SQL管理者から承認を受けなければなら使用が可能です。
           承認は、個人のサーバーである場合には、直接生成するとされますが、そうでない場合は、管理者に必要な
           ユーザーID名を知らせてくれて、承認を受けたり、管理者が指定して生成されたIDを付与し受け
          ご使用いただけようになります...

第三に、パスワード=>パスワードはユーザー名と同様に、SQLアカウントにアクセスするための鍵です。
            この鍵も管理者によって付与されたり承認受ければ良いです。

※上記の例のステートメントで接続が正常に行われると正常に行われたメントが出力され、
    そうでない場合には、失敗したというメントが出力されます。

mysql_select_db

関数原型:mysql_select_db( "DB名"、リソース変数名);

例]
   $ selectdb = mysql_select_db( "TESTDB"、$ connect);


 この関数は、SQLに接続された継ぎ目を利用して接続時に使用したアカウントへのアクセスを許可されたデータベースにアクセスするための関数です。

 データベース(以下ディビ)にアクセスし、これを維持している必要があり、その空間の中で、テーブルも作成、変更、または削除も、各種データを入力して抽出することができます。

関数プロトタイプで使用された引数で最初の引数であるDB名はアカウントが付与されるときに一緒に送らせていただきれる自分がSQLを使用するための一つの空間です。

二番目の引数であるリソース変数名はsqlに接続が正常に行われた時、この接続の値を持っている変数を意味しており、通常は、$ connectを使用しますが、開発者によって流動的だから注意してください。

mysql_query

関数原型:mysql_query( "SQLクエリの内容" [、リソース変数名])

例]
    $ query = "select * from test_table";
    $ result = mysql_query($ query [、$ connect]);

   この関数は、接続先のSQLサーバーにSQLコマンドを送信し、成功するかどうかに応じて、ソンゴンイン場合は、その戻り値をリソースタイプ
   に渡されており失敗時には、空でます。その戻り値は、$ resultに格納され、単独使用された場合
   返されません。

   注:デフォルトでは、SQLサーバーへの単一の継ぎ目が存在する場合には、$ connectを省略することあり
            複数の連結の輪が存在する場合には、指定してくれると正常に処理されることがあります。
            指定しない場合は、最初に接続し、接続リングとして使用するため、エラーが生じたりしたくない
            結果を生むこともあるので注意してください。

mysql_num_rows

関数原型:mysql_num_rows(リソース変数名)

例]
       $ row_num = mysql_num_rows($ result);


   この関数は、mysql_query関数でSQLのクエリした内容に応じて、抽出されたレコードの数を数字で返してくれる
   関数です。

   つまり、上記のmysql_query関数の例で使用されたクエリーによると、test_tableのすべてのレコードを取得するように
   されているのでインポートされたレコード数が10個ならこのメソッドは、$ row_num変数に10という値を定義します。


    注:この関数は、返された数が0個または異常な質疑によるリソース変数の値が空の場合には、
    エラーが起こることがあります。
    このエラーは、Warningエラーで異常な質疑によるエラーならmysql_queryで使用された質の値を見てみるべきでしょう
    、そうでない場合には、@を使用して注意事項のエラーメッセージを隠すことができます。

mysql_fetch_array

関数原型:mysql_fetch_array(リソース変数名)

例]
    $ row = mysql_fetch_array($ result);
    echo $ row [name];
 

   この関数は、mysql_query関数を利用したSQLクエリによって返された値を配列化して返します。

   上記の例では、出力内容はtest_tableの最初のレコードのnameフィールドの内容を出力します。

   レコードが多い場合には、ループステートメントで使用して取り上げてきたレコードの数だけ必要なフィールドの内容を出力するとされ、
   一つのレコードである場合には、ループステートメントを使用する必要なく、すぐに出力します。

mysql_error

この関数は、SQL作業中に発生するエラーの内容を返すくれる関数で、出力文と一緒にすぐに使用する場合には、
エラーの内容を出力し、変数に定義すると、戻ります。

mysql_fetch_assoc

この関数は、mysql_fetch_rowと異なる連想配列でフィールドの値を返します。

つまり、$ row = mysql_fetch_assoc($ result);のとき、
    SQLテーブル内のフィールド名no、name、memoがあると仮定すると、$ row [no]、$ row [name]
    $ row [memo]だけを返してくれて使用可能になります。

    上に説明したmysql_fetch_arrayはfetch_rowと、この関数から返される配列の値の両方を使用できますが、
    すべて返す関数だと思えばされ、この関数が処理速度は速くなります。

mysql_fetch_row

この関数は、mysql_fetch_assoc関数とは異なり、配列番号として返す関数です。
上記のassocに記載されたフィールド名が存在する場合に返されるのは、0から2まで戻り、各番号には、
各フィールドの内容が盛り込まれようになります。
つまり、配列番地が数字で返されるものでありassocは文字で返されると考えてください。

mysql_num_fields

この関数は、SQLクエリによって返されたテーブルのフィールド数を返す関数です。
複数のレコードである場合は、ループステートメントで使用すると、され、そうでない場合は単独の実行で可能です。

例]
    / / test_tableのフィールドはno、name、memoに3つのフィールドが存在すると仮定して
   / /上記のmysql_query例をこのmysql_num_fieldsに受けて来れば3を返します。

   $ query = "select name、memo from test_table";

  / /とSQLクエリを与えると2を返します。


mysql_close

この関数は、SQLに接続された継ぎ目をあたえる関数にSQL終了関数と呼びます。

この関数を使用して、私は以降、そのつながりリソース変数には、もはやSQLにアクセスすることがができなくなります。


注:上記の関数プロトタイプを表記していない関数はすべて関数名(リソース変数名)を円形に目立っています。


以上で、SQLに関連したPHP関数について説明したところで以下の内容は、いくつかの用語をまとめたものです。

フィールド:いずれかの値が存在する小さなスペース
レコード:フィールドが集まっている一つの小さなグループ
テーブル:レコードが集まって1つの大きなグループ
データベース:テーブルが集まっている大規模なグループ

で定義することがあるでしょんですより簡単に説明すると、

フィールドは書類一枚に記録された内容を意味しており、
レコードは、この記録された書類一枚を意味し、
テーブルはこの書類一枚一枚を縛っておいたファイルホルダーを意味し、
データベースは、このファイルホルダーを一時的に保持する本立てで見れば良いです...
SQLは、この本棚を保管する書庫に見れば良いです。

図書館は自分に合った本棚のみ閲覧と書き込み権限があり、その範囲を脱しようとすると、管理者に
権利を停止あうことができます

0 件のコメント:

コメントを投稿