PDOのquery/execの違いを忘れていたので、久しぶりに調べてみた。
<?php $ret = $this->album_table->exec($CREATE_TABLE_SQL); $ret = $this->album_table->query($CREATE_TABLE_SQL);
複数行のクエリを投げるときは、execを使う。
たとえばcreate tableの一括実行など。sqlite:memory:で動作確認した。
queryだと最初の一行だけが実行されただけだった。
- exec
- 複数行まとめて実行
- query
- 一行実行
queryは複数仕込んでも一行だけだった。