• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:ストアドプロシージャについて)

ストアドプロシージャを実行すると応答がなくなる現象についてのアドバイスを頂きたいです

このQ&Aのポイント
  • PHPのストアドプロシージャを実行するとEXCUTEの部分で応答がなくなり、MYSQLのSHOW PROCESSLISTを確認するとそのプロセスがSleepになってしまいます。
  • 原因としては、記述方法が間違っている可能性や設定が必要な箇所があるかもしれません。
  • PHP側でのストアドプロシージャの呼び出し方法や接続方法の確認、MYSQL側の設定を見直すことをおすすめします。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

検証環境もなく、知識もないのですが、質問だけさせてください ストアドプロシージャでなく、普通のSQLなら動くのか $dbh->query()の方を使ってもやっぱり止まるのか を知りたいです その上で http://jp.php.net/manual/ja/ref.pdo-mysql.php のページ内をstoredで検索したら見つかった rmottey at gmail dot com 09-Jan-2008 08:51 の投稿にあるように PDO::setAttribute("PDO::MYSQL_ATTR_USE_BUFFERED_QUERY", true); を行なった場合にどうなるのかを 聞きたいです。

taro_029
質問者

補足

ご返答ありがとうございます。 状況ですが、 >ストアドプロシージャでなく、普通のSQLなら動くのか はい動きます。 >$dbh->query()の方を使ってもやっぱり止まるのか $dbh->query()でもストアドを使用すると止まります。 (普通のSQLでは動きます) また頂いたアドバイス、ページを参考に $dbh->setAttribute("PDO::MYSQL_ATTR_USE_BUFFERED_QUERY", true); もしくは $stmt = $dbh->prepare($sql, array(PDO::MYSQL_ATTR_USE_BUFFERED_QUERY => true)); といったように試してはいるのですが、同様に SQLではうまくいくのですが、ストアドではうまくいきません。 度々で恐縮ですが、何かご意見がございましたら、 お願い致します。

関連するQ&A