Mysql PDO语句错误1064

Mysql PDO语句错误1064,mysql,pdo,prepared-statement,Mysql,Pdo,Prepared Statement,我试图从PDO quote到PDO prepare和execute,我的查询如下: $sql = 'SELECT * FROM nav_top1 WHERE id_top = (SELECT top_fr FROM nav_top WHERE top_fr = :rub ORDER BY top1_order ASC'; echo $sql.'<br>'; $query = $connexion->prepare($sql); $query->bindParam(':ru

我试图从PDO quote到PDO prepare和execute,我的查询如下:

$sql = 'SELECT * FROM nav_top1 WHERE id_top = (SELECT top_fr FROM nav_top WHERE top_fr = :rub ORDER BY top1_order ASC';
echo $sql.'<br>';
$query = $connexion->prepare($sql);
$query->bindParam(':rub', $rub, PDO::PARAM_INT);
$query->execute();
$list = $query->fetchAll();

foreach ($list as $rs) {
$top1_fr = $rs['top1_fr'];

echo $top1_fr;

}
但我有一个错误:

[2015年3月7日星期六14:08:05][error][client 105.156.126.211] PHP警告:PDOStatement::execute:SQLSTATE[42000]:语法错误或访问冲突:1064 您的SQL语法有错误;在第9行的/home/www/Fashion/Fashion.php中的第1行附近,查看与您的MySQL服务器版本对应的手册,以了解要使用的正确语法,请参考

提前感谢

缺少支架

top1_order ASC)
$sql='SELECT*FROM nav\u top1,其中id\u top=SELECT top\u fr FROM nav_top,其中top_fr=:按top1_ORDER ASC'摩擦订单

你的牙套不见了

 $sql = 'SELECT * FROM nav_top1 WHERE id_top = (SELECT top_fr FROM
 nav_top WHERE top_fr = :rub ORDER BY top1_order ASC');

嗯,我忘了关窗户了,谢谢