PDOStatement - 在列中使用严重重音符(`)?

时间:2011-01-21 23:24:54

标签: php mysql pdo

查看PHP手册,在任何时候都没有建议在列上包含严重重音。

例如:最近,我试图运行以下功能:

 $pdo->prepare("UPDATE name_table SET convert= :convert, payment = :payment WHERE id = :id") 

在尝试更新MySQL中的数据后,我注意到CONVERT函数是原生MySQL的函数。

所以在那之后,把反引号放在列中并且它起作用了:

 $pdo->prepare("UPDATE name_table SET `convert`= :convert, `payment` = :payment WHERE id = :id") 


有人认为严重的口音对PDOStatements的对象不是必不可少的吗?刚尝试使用MySQL,但不知道使用反引号来进一步更改数据库是否真的很好。

2 个答案:

答案 0 :(得分:3)

我认为不需要或提及反引号,因为它们是特定于mysql而PDO旨在与任何RDMS一起使用。

答案 1 :(得分:2)

正如你自己说的那样,你的查询不起作用,因为CONVERT在mySQL中是reserved word,每当使用保留字的列名 - 或者有其他奇怪的特征 - 你需要包装他们在反叛中。

对每个列和表名使用反引号都没有坏处。只是不要在数据上使用它们 - 这不起作用。对于数据,请改用引号。

@ Beau回答后编辑:请注意,这仅适用于mySQL!