Tôi đang tìm câu trả lời tương tự và tình cờ xem được bài viết này . Nó được cập nhật lần cuối vào tháng Tám. Trong đó, có phần:"Xác định loại câu lệnh" Về cơ bản, bạn có thể đưa ra các giả định sau:(sao chép từ bài báo)
- Nếu columnCount () bằng 0, câu lệnh không tạo ra tập kết quả. Thay vào đó, nó đã sửa đổi các hàng và bạn có thể gọi rowCount () để xác định số lượng hàng bị ảnh hưởng.
- Nếu columnCount () lớn hơn 0, câu lệnh tạo ra một tập hợp kết quả và bạn có thể tìm nạp các hàng. Để xác định có bao nhiêu hàng, hãy đếm chúng khi bạn tìm nạp chúng.
Tôi sẽ giúp bạn đỡ rắc rối và chỉ cần dán mẫu mã vào đây
$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++;
}
}