2

だから、私はPDOを学んでいます。これまでのところ、正直なところ、小さなタスクを実行するために大量のコードが必要なため、まったく感銘を受けていません。ただし、コードを効率的かつ再利用可能にすることができれば、それでも変換するつもりです。

私の質問はこれです: このコードをもっと効率的にすることはできますか? 効率的とは、A) 行数が少なく、B) 実行速度が速いことの両方を意味します。私はこれについてすべて間違っているのではないかと心配しています。しかし、機能が不足しているためnum_rows()、より良い方法が思いつきません。

try
{
    $sth = $dbh->prepare("SELECT * FROM table_name");
    $sth->execute();

    if (count($result = $sth->fetchAll()))
    {
        foreach ($result as $value)
        {
            // Rows returned! Loop through them.
        }
    }
    else
    {
        // No rows returned!
    }
}
catch (PDOException $e)
{
    // Exception!
}

これは正しく書かれていますか?

4

3 に答える 3

2

私の調査によると、いいえ。このコードをより簡潔に、または論理的に書き直す方法はありません。この方法は完全に最適化されています。:) 使いやすいので、それは間違いなく悪いことではありません!

于 2012-07-10T16:41:33.880 に答える
-1

いいえ、PDO の rowCount メソッドを使用する必要があります。

try
{
    $sth = $dbh->prepare("SELECT * FROM table_name");
    $sth->execute();

    if ($sth->rowCount() > 0)
    {
        while ($result = $sth->fetch())
        {
            // Rows returned! Loop through them.
        }
    }
    else
    {
        // No rows returned!
    }
}
catch (PDOException $e)
{
    // Exception!
}
于 2012-06-15T17:21:48.990 に答える