function readDB($db,$event)
{
try {
$rows = array();
$sql = "SELECT \"Red Score\", \"Blue Score\", red1, red2, red3, blu1, blu2, blu3 FROM Matches WHERE Event='$event' AND Type='Q' ORDER BY Number;";
foreach($db->query($sql) as $row)
{
$rows[] = $row;
echo count($row) . "<br/>";
}
printArray($rows);
} catch(PDOException $e) {
$rows = 'aids';
echo $e->getMessage();
}
$db = null;
}
這裏是相關的功能。它運行查詢並將結果放入二維數組中。更改查詢以僅選擇一個沒有條件的字段仍返回兩件事。pdo-> query()返回每個結果中的兩個?
該代碼返回正確的數據,只是每個記錄被複制,即一行8被轉換爲16行。在SQLite3控制檯中運行的查詢返回每個事情一次。
樣品:
PHP:
51 51 27 27 836 836 435 435 1102 1102 245 245 88 88 1293 1293
33 33 30 30 401 401 3489 3489 415 415 3475 3475 4722 4722 2655 2655
的SQLite3:
51 27 836 435 1102 245 88 1293
33 30 401 3489 415 3475 4722 2655
任何人都可以解釋爲什麼這是怎麼回事?
編輯:我的歉意。我已經用嵌入的代碼替換了粘貼。應該想到這樣做。
編輯編輯:解決方案:使用PDOStatement :: setAttribute()設置默認的獲取模式;它默認爲導致此問題的FETCH_BOTH。我在錯誤的地方尋找解決方案。
文檔是在這裏,以獲取更多信息:http://www.php.net/manual/en/pdostatement.fetch.php
向我們展示一些代碼在這裏,請,不只是在撥弄 – 2013-03-19 04:29:51
請你的代碼直接粘貼到這個問題,而不是發佈到像引擎收錄外部服務。外部代碼可以隨時消失,並且不存在像SO問題那樣的版本控制。因此,未來的讀者可能無法看到外部代碼,因此這個問題將毫無用處或沒有多大意義。 ** StackOverflow與其他人一樣關於未來的參考,因爲它是關於您今天得到您的問題的答案。** – 2013-03-19 04:40:26
您還可以向我們展示回顯正在打印的內容。 – MatRt 2013-03-19 04:42:06