Вот как бы вы это сделали:
// Execute query and fetch a single cell from the result
$total_records = $PDO->query('SELECT COUNT(*) FROM `products`')->fetch(PDO::FETCH_COLUMN);
$total_no_of_pages = ceil($total_records / $total_records_per_page);
$second_last = $total_no_of_pages - 1; // total page minus 1
// prepare a statement with 2 parameters and execute it
$stmt = $PDO->prepare('SELECT * FROM `products` LIMIT ?,?');
$stmt->execute([$offset, $total_records_per_page]);
// PDO results are easily traversable
foreach ($stmt->fetchAll() as $row) {
echo "<tr>
<td>".$row['productCode']."</td>
<td>".$row['productName']."</td>
<td>".$row['MSRP']."</td>
<td><button type='submit' class='buy'>Buy Now</button></td>
</tr>";
}
Я заменил ваш составной запрос на подготовленное утверждение, которое вы всегда должны делать!
О извлечении: Вы можете просматривать записи по одной или извлекать их все, как я сделал, в массив и foreach
на них. Есть много разных способов сделать это. Всегда помните о многих доступных вариантах извлечения PDO: https://phpdelusions.net/pdo#fetchall