2017-03-20 12 views
1

mysqliのような接続を閉じることはできませんが、私のコードでは多くのクエリを実行します。何らかの理由で、多くのクエリの後にページがロードされ続けるだけです。PHP PDOから多くの質問

これを修正するために、$ conn変数をnullに設定して、新しいPDO接続を作成します。しかし、私はそれが正しい方法だとは思わない。

私の質問です。多くのPDOクエリを再接続したり実行したりするより良い方法はありますか?例えば

:私はこのような10倍か何かを実行した場合

$stmt = $conn->prepare("select * from table"); 
$stmt->execute(); 
$result = $stmt->fetchAll(); 

だから、それは単に動作を停止します。 $ connをnullにしてから新しい接続を開始するだけで、動作させる方法があります。

+0

いいえ、接続を閉じてからもう一度開くのはまったく効果がありません。これにいくつかのコードを表示できますか?おそらく、最適化やその他の間違いがあります。そして、「mysqliのような接続を閉じる」*とはどういう意味ですか? PDOでは、ステートメントとオブジェクトをnullに設定できます。それはあなたが求めていることですか? – Qirel

+0

あなたはトランザクションを使用していますか? 'prepare'を使ってリクエストを実行していますか?実行中にmysqlがプロセスリストに表示するものは何ですか? – Fky

+0

例を追加しました。しかし、それは複数のクエリのために発生するので、厳密なコードをここに入れるのは難しいです。 –

答えて

0

「あまりにも多くのクエリ」が間違っていて、ページに必要な限り、何も問題はありません。
あなたのページは何らかの理由で読み込みを続けますが、これはクエリの数とは関係ありません。私はいくつかの外部リソースをロードするときにネットワーク問題があると思います。