ホームページ >バックエンド開発 >PHPチュートリアル >Treasure Box の概要 PHP Web クエリ データベースの基本手順_PHP チュートリアル

Treasure Box の概要 PHP Web クエリ データベースの基本手順_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-15 13:28:301075ブラウズ

PHP は、動的 WEB ページを開発するための推奨プログラミングです。私は最近、本を読んで多くのことを学びました。ここで、PHP Web クエリ データベースについての知識を共有します。 PHP Web からデータベースにクエリを実行する基本手順:

1. ユーザーからのデータを確認してフィルタリングする まず、ユーザーが検索条件の先頭または末尾に誤って入力した可能性のある空白文字をフィルタリングします。これで完了です。関数trim()を使用して実行します。 ユーザー入力データをわざわざチェックする理由は、ユーザーが異なるインターフェースから入力するため、セキュリティ上の問題が発生する可能性がある複数のインターフェースがデータベースに接続することを防ぐためです。

次に、ユーザーが入力したデータを使用する準備をするときに、ユーザーがデータベースにデータを入力するときに、一部の制御文字も適切にフィルタリングする必要があります。このときに使用される盗まれた関数には、addslash( が含まれます)。 ) 関数、stripslashes() 関数、および get_magic_qutoes_gpc() 関数。 addslashes() 関数は、データベース クエリ ステートメントなどの特定の文字の前にバックスラッシュを追加します。 magic_quotes_runtime 設定。実行時にマジック クオートがオフになっている場合は 0 を返し、それ以外の場合は 1 を返します。 htmispecialchars() を使用して、HTML 内の特別な意味を持つ文字をエンコードすることもできます。 htmispecialchars() 関数は、一部の事前定義された文字を HTML エンティティに変換します。 & (アンパサンド) は & " (二重引用符) になります。 quote) は ' < (より小さい) になります < (より大きい) は >

2. PHP は、MySQL に接続するための関数ライブラリ mysqli を提供します。

PHP で mysqli 関数ライブラリを使用する場合、オブジェクト指向またはプロセス指向の構文を使用できます:

1) オブジェクト指向、@ $db = new mysqli('hostname','username','password', 'dbname' ); オブジェクトを返します

2) プロセス指向: @ $db = mysqli_connect('hostname', 'username', 'password', 'dbname'); データベース接続を表すリソースを返します。プロセスがメソッドを使用する場合、このリソースは mysqli の他のすべての関数に渡される必要があります。

これは処理関数に非常に似ています。mysqli のほとんどの関数にはオブジェクト指向インターフェイスと手続き型インターフェイスがあります。この 2 つの違いは、手続き型バージョンの関数名が mysqli_ で始まり、mysqli_connect によって取得されるリソース ハンドルを必要とすることです。 () に渡される関数。データ結合機能は、mysqli オブジェクトのコンストラクターによって作成されるため、このルールの例外です。したがって、接続しようとするときに確認する必要があります。接続エラーが発生すると、mysqli_connect_errno() 関数はエラー番号を返します。

注意: データベースに接続するときは、通常、エラー抑制機能が使用されます。 @ は最初の Contains コードとして使用されます。これにより、エラーを適切に、または例外を通じて処理できるようになります。さらに、MySQK にはデータベースへの同時接続数に一定の制限があります。 MySQLi パラメータ max_connections は、同時接続の数を決定します。このパラメータと関連する Apache パラメータ MaxClients の機能は、新しい接続要求を拒否するようにサーバーに指示することにより、システムがビジー状態またはシステム リソースが要求されたり使用されたりしないようにすることです。システムが麻痺したとき。 Apache で MaxClients パラメータを設定するには、システムの httpd.conf ファイルを編集します。 MySQLi の max_connections パラメータを設定するには、ファイル my.conf を編集します。

使用するデータベースを選択します。MySQL コマンドラインで use dbname; コマンドを使用します。PHP では、$db->select_db(dbname); または mysqli_select_db(db_resource,dbname) を使用できます。

3. データベース クエリを実行するには、まず $query = "select from user" を作成し、次に $result = $db->query($query); を実行します。 result = mysqli_query($db ,$query); オブジェクト指向バージョンは結果オブジェクトを返します。手続き型バージョンは結果リソースを返します。メソッドに関係なく、結果は後で使用できるように $result 変数に保存されます。関数が失敗した場合は false が返されます。

4. さまざまな関数を使用して、結果オブジェクトまたは識別子からクエリ結果を取得します。結果オブジェクトまたは識別子は、クエリによって返された行にアクセスするためのキーです。

通常、結果セット内の行数を取得し、mysqli_fetch_assoc() 関数を使用する必要があります。行数を返します: $num_results = $result->num_rows; (行数はオブジェクトの num_rows メンバー変数に格納されます) または $num_results = mysqli_num_rows($result); 次に、ループを使用して各行を走査します。そしてループ内で $row = を呼び出します $result->fetch_assoc(); または $row = mysqli_fetch_assoc($result); 行情報を返します。行がオブジェクトとして返される場合、各キーワードは属性名であり、各値は属性内の対応する値です。リソースとして返される場合は、配列が返されます。

結果識別子から結果を取得する他の方法もあります。たとえば、 $row = $result->fecth_row($result); または $row = mysqli_fetch_row($result); を使用して結果を取得します。列挙配列; $row = $result->fecth_object(); または $row = mysqli_fecth_object($result); を使用することもできます。

5. 最初に結果セットを解放し、次にデータベース接続を閉じます: $db->close() または mysqli_close($db) ; 厳密とはいえ、スクリプトの実行が終了すると自動的に閉じられるため、これは必要ありません。

上記は PHP Web クエリ データベースの基本的な手順です。学習できたでしょうか。やってみよう。


www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/446449.html技術記事 PHP は、動的 WEB ページを開発するための推奨されるプログラミング方法です。最近、ある本を読んで多くのことを学びました。ここで、PHP Web クエリ データベースについての知識を共有したいと思います。 ...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。