如何在php中查询中保留的mysql单词?

时间:2013-07-13 22:56:19

标签: php mysql

所以我想我要将我的唱片目录名称从'专辑'改为'发行',因为它对我来说更有意义...... 大错!查询突然停止工作......经过几个小时的研究,我发现'release'是mySQL中的一个保留字,只有在使用正确的转义时才可以使用。在这种情况下,转义是符号`,就像这个

<?php
$sql = 'SELECT release.release_id, release.title, release.subtitle
        FROM `release`
        WHERE release.released_id = 567';
?>

我的问题是,这是否是在PHP中转义保留的mysql单词的正确方法?是否有正常化的方式来解决这个问题? 感谢

2 个答案:

答案 0 :(得分:4)

到处使用反叛。

$sql = 'SELECT `release`.release_id, `release`.title, `release`.subtitle
        FROM `release`
        WHERE `release`.released_id = 567';

答案 1 :(得分:2)

逃脱它们只是把它们放在两个反引号之间。像这样

$sql = 'SELECT `release`.release_id, `release`.title, `release`.subtitle
        FROM `release`
        WHERE `release`.released_id = 567';

编辑:

为了避免在任何地方制作反引号,只需使用这样的别名:

$sql = 'SELECT r.release_id, r.title, r.subtitle
        FROM `release` as r
        WHERE r.released_id = 567';