Szukałem tej samej odpowiedzi i natknąłem się na ten artykuł . Ostatnia aktualizacja miała miejsce w sierpniu. Znajduje się w nim sekcja:„Określanie rodzaju oświadczenia” Zasadniczo możesz przyjąć następujące założenia:(skopiowane z artykułu)
- Jeśli columnCount() ma wartość zero, instrukcja nie wygenerowała zestawu wyników. Zamiast tego zmodyfikował wiersze i możesz wywołać rowCount(), aby określić liczbę wierszy, których to dotyczy.
- Jeśli columnCount() jest większe od zera, instrukcja wygenerowała zestaw wyników i można pobrać wiersze. Aby określić, ile jest wierszy, policz je podczas pobierania.
Oszczędzę Ci kłopotów i po prostu wkleję tutaj przykładowy kod
$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++;
}
}