2017-08-15 4 views
1

私は2つのWebページpage1.phpとpage2.phpを持っています。PHP - mySQLに再接続するか、POST経由で先に送信しますか?

page1.phpで

page2.php

変数Aに実行され、保存されたMySQLのクエリは、私は同じクエリの同じ結果をしたいがあります。

mySQLに再接続して再度クエリを実行する必要がありますまたは POSTまたはSESSION経由でpage1.phpから変数Aを送信しますか?高速なソリューションとは何ですか?他の解決策がありますか?

EDIT:そこには、他のクエリがされていないので、データは変更されません(と思う)

+1

ページ1からページ2に渡されたデータが改ざんされていないことをどうやって確認しますか?どのようにデータを信頼できますか? $ _SESSIONSを使用してデータを保存することはできますが、クエリを再実行する際に問題があるとは思わない – IsThisJavascript

+0

他のmysqlクエリはありませんので、データは変更されません。データベースはpage1とpage2の間で変更されません)。私はちょうどページチャージの時間を増加させない速い方法を探しています –

+1

それはおそらく2ページにクエリから結果を渡す_faster_でしょう。そうでなければ、お互いの秒以内に同じクエリに対してデータベースを2回ヒットします。 – GrumpyCrouton

答えて

2

私は確かにPOST経由でこのデータを渡すことはありません。これにより、データが悪質なクライアントによって改ざんされる可能性があります。

データセットが大きすぎないと仮定すると、SESSIONは少し速くなります。ユーザーのセッションのスペースでデータが変更される可能性が低い場合は、それは再分類の選択です。

時間差が重要であるかどうかを確認するには、クエリが実際に正常にかかる時間を知ることが役立ちます。結果セットに14000行が含まれていると言いました。 1つのテーブルから選択するだけであれば、それは非常に時間がかかるとは想像できません。セッションに14000行が格納されることは本当に大変です。いつでもサイトを使用しているすべてのユーザー(セッションは1人のユーザーに固有なので)にデータセットを1回保存することを忘れないでください。多くのユーザーがいる場合は、消費しているサーバー上のメモリ量に注意を払わなければなりません。

もう1つの設計上の注意:複数のページに同じ結果を正確に表示するには、他のスクリプトに含めることができる3番目のスクリプトを検討してください。

0

データが変更された可能性がある場合、あなたは、SHUREされていない場合は、新しいクエリを作ります!この操作を行うにはもう少し時間がかかることがありますが、データが最新の状態であることを確認することができます。 page2.phpの処理中に別のブラウザでpage1.phpを再起動するとどうなりますか? 100%確実で何も操作できない場合や、データのロードに時間がかかり過ぎると、リソースがデータを再利用する場合のみです。

ユーザーが変更した可能性のあるデータを信頼してはいけません。また、あなたが期待しているものであることを常に確認してください。たぶん、データの検証を行うことを検討する必要があります。

関連する問題