我嘗試在未排序的串列中使用 PDO 獲取并顯示 SELECT 查詢的結果,但我只能從該串列中獲取第一項的一半。到目前為止,我的代碼是:
<?php
try {
$conn = new PDO('sqlite:db/MyDatabase.db');
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$stmt = $conn->prepare("SELECT genus, species FROM MyTable ORDER BY genus ASC, species ASC");
$stmt->execute();
$data = $stmt->fetchColumn();
echo '<ul>' . '<li>' . $data . '<br/>' . '</li>' . '</ul>';
}
catch(PDOException $e) {echo "Error: " . $e->getMessage();}
$conn = null;
?>
但我只得到了“屬”列的第一項的呼應。您能幫我以更友好的“屬(空間)物種”形式獲得這個未排序的串列嗎?
uj5u.com熱心網友回復:
fetchColumn()僅回傳結果集中的第一列fetchAll()將回傳表中的所有行。foreach然后使用or遍歷陣列while。
嘗試回$data顯將不起作用,因為您無法回顯陣列,您需要指定陣列鍵,在這種情況下將是列名。
<?php
try {
$conn = new PDO('sqlite:db/MyDatabase.db');
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$stmt = $conn->prepare("SELECT genus, species FROM MyTable ORDER BY genus ASC, species ASC");
$stmt->execute();
$data = $stmt->fetchAll(PDO::FETCH_ASSOC);
echo '<ul>';
if ( !empty($data) ) {
foreach ( $data as $row ){
echo '<li>'. $row['genus'] .' '. $row['species'] .'</li>';
}
} else {
// something to show when no results.
}
echo '</ul>';
} catch(PDOException $e) {
echo "Error: " . $e->getMessage();
}
$conn = null;
?>
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/525579.html
標籤:phpsqlite
