如何使用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();
......但这是错误的。
答案 0 :(得分:1)
SELECT `caption` FROM `photos` WHERE `id` = ? Limit 1
限制关键字限制为您想要的行数。但是如果没有order by子句,您的记录将被随机提取。如果它似乎工作正常,不要认为它会一直这样。 SQL标准不保证默认提取的行的顺序。