■default ---■fontsize --70% --80% --100% --120% --140% --- --■scroll_switch

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

mysql pdo のCannot execute queries なんちゃら 解決メモ


いままでなんとも無かったのですが、mysql の pdo で
show databases;
でresult (なんて読むか分からない。頭の中では”そすんす”と読んでいる。ちなみに"そすんす"の使い手は"そすんさー"と言う)
を回しながら
show tables from $Database ;
でテーブル情報を取得しようとすると(information_schemaから読み取ろうとすると、なんか自分自身を見つけてくれないのでshowを使っている)
Cannot execute queries while other unbuffered queries are active. Consider using PDOStatement::fetchAll(). Alternatively, if your code is only ever going to run against mysql, you may enable query buffering by setting the PDO::MYSQL_ATTR_USE_BUFFERED_QUERY attribute.
というerrorが出てきた。
どうも、information_schemaを多重で見ているのがいけないらしい。
けど、今まではなんとも無かったのですが。
どうやら、一番初めに動かすとよくないらしい。
その前に別のそすんすをしていると大丈夫。

ちなみに、プリペアドみたいなのを使ってもNG
select TABLE_NAME from information_schema . TABLES where TABLE_SCHEMA = :Database ;
closeCursor()を使うとshow databases;のそすんすが消える。
PDO::MYSQL_ATTR_USE_BUFFERED_QUERY を設定しろみたいな事が書いて有りますが、どうすんのか分からない。
PDOStatement::fetchAll() でそすんすを取得してもNG

でもなんか、
PDO::query("");
的な空のそすんすをshow tables from $Database ;の前に一回やると大丈夫になった。
そすんすの空振りも有効である。
スピードも落ちてない。

スポンサーサイト
ブログ内検索ワード
マジック / フラリッシュ / デザイン / ~のコツ / プログラム関連 /
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。