Jeg ledte efter det samme svar og faldt over denne artikel . Den blev sidst opdateret i august. I den er der et afsnit:"Bestemmelse af typen af en erklæring" Du kan grundlæggende gøre følgende antagelser:(kopieret fra artiklen)
- Hvis columnCount() er nul, producerede sætningen ikke et resultatsæt. I stedet ændrede den rækker, og du kan kalde rowCount() for at bestemme antallet af berørte rækker.
- Hvis columnCount() er større end nul, producerede sætningen et resultatsæt, og du kan hente rækkerne. For at bestemme, hvor mange rækker der er, tæl dem, mens du henter dem.
Jeg sparer dig for besværet og indsætter bare kodeeksemplet her
$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++;
}
}