2012-06-08 57 views
1

如何使用PDO準備好的語句從MySQL數據庫獲取單個記錄如何使用PDO準備語句從MySQL數據庫獲取單個記錄?

在做它的「舊」的方式,我可以使用:

$MyCaption = mysql_result(mysql_query("SELECT * FROM `photos` WHERE `id` = '56465843362'"),0,"caption"); 

會是什麼PDO準備語句相同呢?

我想:

$id = '56465843362'; 
$query = $db->prepare("SELECT `caption` FROM `photos` WHERE `id` = ?"); 
$query->execute(array($id)); 
$caption = $query->fetchColumn(); 

...但是,這是錯誤的。

回答

1
SELECT `caption` FROM `photos` WHERE `id` = ? Limit 1 

Limit關鍵字限制到您想要的行數。但是如果沒有訂單條款,您的記錄將被隨機提取。如果它看起來工作正常,不要以爲它會一直如此。 SQL標準不保證默認獲取的行的順序。

+0

感謝您的支持,但如果我將「限制1」包含或不包含ORDER BY子句,我仍然得不到任何結果。 –

+0

我的歉意 - 這是我的代碼錯誤輸入。感謝您的幫助。 –