Fred
Fred

Reputation: 75

PDO statement error #1064

I am trying to move from PDO quote et PDO prepare and execute, my query is like:

$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;

}

but I get an error:

[Sat Mar 07 14:08:05 2015] [error] [client 105.156.126.211]
PHP Warning: PDOStatement::execute(): SQLSTATE[42000]: Syntax error or access violation: 1064
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1 in /home/www/Fashion/fashion.php on line 9, referer...

Thanks in advance

Upvotes: 0

Views: 219

Answers (2)

mubeen
mubeen

Reputation: 839

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

Your are missing braces.

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

Upvotes: 0

KevInSol
KevInSol

Reputation: 2644

missing brace?

top1_order ASC)

Upvotes: 2

Related Questions