2016-08-25 6 views
-2

私のページA.phpでは、私はこのようなクエリを準備します。PDOプリペアドステートメントクロスページ

しかし、他のページB.phpでも同じクエリが必要な場合。

私は再度そのクエリを準備する必要がありますか?

または、同じPDO Preparedステートメントをどのように使用できますか?

また、同じクエリを準備すると、サーバーはそのクエリが準備されたことを自動的に認識しますか?


状況:

私は、データベースのウェブサイトを持っている場合は、数百ページがちょうど同じ方法のようにデータをロードがあります。

ユーザーが各ページを開くと、クエリが毎回送信されます。

ページをもっと賢く構築するにはどうすればよいですか?


私はクエリの同じ "STRING"を使用することを検討していません。

私はそれが$ PDO-> prepareを再度使用しないという声明を準備していることを意味します。

可能ですか?

+0

を行う必要があります。 'includes.php'を含み、' A.php'と 'B.php'の両方にそれを含みます。 – Sean

+0

しかし、私は最後のPreparedステートメントをどのように渡すことができますか? – fire790620

+0

PHP処理モデルの仕組みを理解していますか?各要求は、割り当てられたリソースと先の変数なしで開始されます。あなたはA.phpとB.phpの間に準備された$ステートメント/ハンドル/オブジェクトを再利用することをどう思いますか? – mario

答えて

2

定義上、PHPスクリプトはスタンドアロンです。したがって、A.phpをロードするときは、DBに接続してクエリを実行する必要があります。 A.phpが処理されると、PHPは接続を終了します。あなたがロードすると

B.phpあなたがB.php` `にそのクエリを追加する必要がある、または別のファイル、すなわちにクエリを配置するか、同じこと

+0

したがって、PDO Prepared statementsは 'クロスページの使用? – fire790620

+0

いいえあなたはインクルードでクエリを再利用できますが、プリペアドステートメントにはDBへのオープン接続が必要です – Machavity

+0

私のウェブサイトに関する状況を編集しました。解決方法はありますか?それとも、すべてのページでクエリを準備する唯一の方法ですか? – fire790620