我試圖用PHP實現分頁。我發現調用exec到連接的數據庫會阻止進一步的查詢調用。 手頭的一段代碼:PDO :: exec()阻止進一步查詢
<?php
// Pagination logic
//Here we count the number of results
$query = "SELECT COUNT(*) as num FROM gig";
$total_pages = $db->exec($query);
$total_pages = $total_pages[num];
?>
它之後,如果我嘗試使用查詢如:
<?php>
foreach ($db->query("SELECT sname, start, venue FROM gig WHERE start = '0000-00-00 00:00:00'") as $a) {
$row="<tr><td>$a[sname]</td><td>To be announced</td><td>$a[venue]</td></tr>\n";
print $row;
}
?>
它返回
警告:提供的foreach無效的參數( )
只要第一個代碼塊被刪除,查詢工作很好。當我檢查$ total_pages的值時,它的值爲0,所以一路上一定有問題。據我所知,我以與查詢相同的方式使用它(它自己工作),所以有什麼理由不起作用?
的PDO被初始化以下列方式:
try {
$db = new PDO("mysql:dbname=$db_name;host=$db_server", $db_user, $db_pw);
} catch (PDOException $e) {
die('Connection failed: ' . $e->getMessage());
}
session_start();
我已經讀過,但假設我可以使用,因爲我不需要從select語句返回任何結果。將其替換爲查詢STATEMENT對象的調用,而不是使其工作。 – insideClaw