sql >> Databasteknik >  >> RDS >> Mysql

Hur får man typ av en frågesats i PDO?

Jag letade efter samma svar och snubblade över den här artikeln . Den uppdaterades senast i augusti. I den finns det ett avsnitt:"Bestämma typen av ett uttalande" Du kan i princip göra följande antaganden:(kopierat från artikeln)

  • Om columnCount() är noll, gav satsen ingen resultatuppsättning. Istället ändrade den rader och du kan anropa rowCount() för att bestämma antalet berörda rader.
  • Om columnCount() är större än noll, gav satsen en resultatuppsättning och du kan hämta raderna. För att avgöra hur många rader det finns, räkna dem när du hämtar dem.

Jag ska rädda dig besväret och klistra bara in kodexemplet här

$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. Är det möjligt att ange villkor i Count()?

  2. IllegalStateException:databas redan stängd (med ViewPager)

  3. MySQL-mål i Luigi arbetsflöde

  4. Mysql CASE HITTER INTE för CASE STATEMENT på en lagrad procedur