我有这样的查询:
" SELECT IF(table.edited > 0, '<i title="c.edited"></i>','') AS edited, ... "
^ ^ ^
上面的查询有一个pdo-syntax-error ...!这是关于引用。我该如何解决?
答案 0 :(得分:1)
反斜杠,与PHP中的任何其他字符串相同,并带有引号:
" SELECT IF(table.edited > 0, '<i title=\"c.edited\"></i>','') AS edited, ... "
答案 1 :(得分:1)
使用PDO bindValue插入干净的字符串:
$query = "SELECT filename
FROM Posters
WHERE name = :name";
$statement = $this->db->prepare($query);
$statement->bindValue(':name', $name);
$statement->execute();
return $statement->fetchAll(PDO::FETCH_ASSOC);
答案 2 :(得分:-1)
试试这个:
" SELECT IF(table.edited > 0, CONCAT('<i title=\"', c.edited, '\"></i>','') AS edited, ..."
使用CONCAT合并c.edited
和字符串。
使用\
转义引用(正如@Aaron Mason在回答中提到的那样)