2012-06-08 55 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

我的歉意 - 这是我的代码错误输入。感谢您的帮助。 –