私は古いmysql_XサイトをPDOで動作するように変換している最中であり、これまでのところ、とても良いです(私は思います)。ただし、クエリの結果をカウントする信頼性について質問があります。
現在、私はすべてをこのように進めています(これを読みやすくするために、try / catchエラーコードを削除しました):
$stm = $db->prepare("SELECT COUNT(*) FROM table WHERE somevar = '1'");
$stm->execute();
$count = $stm->fetchColumn();
if ($count > 0){
$stm = $db->prepare("SELECT * FROM table WHERE somevar = '1'");
$stm->execute();
$result = $stm->fetchAll();
}
この方法でそれを行うことには愚かな問題があるかもしれません、そして私はあなたにそれがあるかどうか教えてください、しかし私の質問は本当にデータベースクエリを減らすことについてです。最初のステートメントを切り取り、2番目のステートメントを単独で実行し、PHPのcount()を使用して結果をカウントすると、次のように1つのクエリだけで信頼できる行カウントが得られるようです。
$stm = $db->prepare("SELECT * FROM table WHERE somevar = '1'");
$stm->execute();
$result = $stm->fetchAll();
$count = count($result);
if ($count > 0){
//do whatever
}
代わりにこの方法でそれを行うことの落とし穴はありますか?信頼できますか?そして、ここで私のPDOに明白で愚かな間違いはありますか?助けてくれてありがとう!