簡體   English   中英

使用PDO從數據庫中選擇數據

[英]Select data from database with PDO

我在mysql數據庫中有一些數據。該數據庫每次都包含不同數量的行。

我的表格的一個例子是:

id  team1  team2  home  away  tip
----------------------------------
12   xxx    yyy   zzz   kkk
43   xxx    yyy   zzz   kkk
.     .      .     .     .
.     .      .     .     .

因此,我需要做的是遍歷表的每一行,並能夠從該行獲取數據,以便創建提示。

我對如何使用pdo感到困惑。

到目前為止,我嘗試過的是嘗試獲得如下數據列:

$stmt = $db->prepare("SELECT id FROM tablename");
    $stmt->execute();
    $result=$stmt->fetchColumn();
    echo $result[0];

但是,即使那樣,我希望還給我第一個id(在這種情況下為12),也只是返回我1.這里有什么想法嗎?

$stmt = $db->prepare("SELECT id FROM tablename");
try{
    $stmt->execute();
}catch(PDOException $err){
    //some logging function
}
//loop through each row
while($result=$stmt->fetch(PDO::FETCH_ASSOC)){
    //select column by key and use
    echo $result['id'];
} 

或者,您可以使用fetchAll將整個數據集選擇為一個變量。 這樣就不需要循環

這是PDO的有用資源:

http://wiki.hashphp.org/PDO_Tutorial_for_MySQL_Developers

$getUsers = $DBH->prepare("SELECT * FROM tablename ORDER BY id ASC");
$getUsers->execute();
$users = $getUsers->fetchAll();

可能對您有幫助

嘗試打印不帶索引的結果

$stmt = $db->prepare("SELECT id FROM tablename ORDER BY id ASC");
$stmt->execute();
$result = $stmt->fetchColumn();
echo $result;

使用fetch(帶有FETCH_NUM)而不是fetchColumn

$stmt = $db->prepare("SELECT id FROM tablename");
    $stmt->execute();
    $result=$stmt->fetch(PDO::FETCH_NUM);
    echo $result[0];

如果要循環遍歷,可以使用while循環,下面是示例

<?php 

$stmt =("SELECT id FROM tablename");
$result=$db->prepare($stmt );
$result->execute();
while($row = $result->fetch(PDO::FETCH_ASSOC))
{
$id = $row['id'];
 echo $id;
}
?>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM