What are the differences in functionality between PDO->query() and PDOStatement when trying to retrieve the number of rows in a SELECT query?

When trying to retrieve the number of rows in a SELECT query using PDO, the `PDO->query()` method can be used to directly execute the query and return a PDOStatement object. However, to retrieve the number of rows from the result set, you need to use the `rowCount()` method on the PDOStatement object rather than directly on the PDO object. This is because `PDO->query()` returns a PDOStatement object representing the result set, which contains the method `rowCount()` to get the number of rows.

// Create a PDO connection
$pdo = new PDO('mysql:host=localhost;dbname=mydatabase', 'username', 'password');

// Execute a SELECT query
$query = $pdo->query("SELECT * FROM my_table");

// Get the number of rows in the result set
$rowCount = $query->rowCount();

// Output the number of rows
echo "Number of rows: " . $rowCount;