sql >> データベース >  >> RDS >> Mysql

PDOでクエリステートメントのタイプを取得するにはどうすればよいですか?

    私は同じ答えを探していて、この記事 に出くわしました。 。最終更新は8月です。その中には、「ステートメントのタイプの決定」というセクションがあります。基本的に、次の仮定を行うことができます:(記事からコピー)

    • columnCount()がゼロの場合、ステートメントは結果セットを生成しませんでした。代わりに、行を変更し、rowCount()を呼び出して、影響を受ける行の数を判別できます。
    • columnCount()がゼロより大きい場合、ステートメントは結果セットを生成し、行をフェッチできます。行がいくつあるかを判断するには、それらをフェッチするときにそれらを数えます。

    手間を省き、コードサンプルをここに貼り付けるだけです

    $sth = $dbh->prepare ($stmt);
    $sth->execute ();
    if ($sth->columnCount () == 0)
    {
        # there is no result set, so the statement modifies rows
         printf ("Number of rows affected: %d\n", $sth->rowCount ());
    }
    else
    {
        # there is a result set
        printf ("Number of columns in result set: %d\n", $sth->columnCount ());
        $count = 0;
        while ($row = $sth->fetch (PDO::FETCH_NUM))
        {
        # display column values separated by commas
           print (join (", ", $row) . "\n");
           $count++;
        }
    }
    


    1. 配列をMySQLストアドルーチンに渡す

    2. Selectステートメントのケース

    3. Oracleで列挙型を使用するにはどうすればよいですか?

    4. より高速なSQLビューを作成するために知っておく必要のあるトップ3のヒント