1

所以我想我要把我的唱片表名称从“专辑”改为“发行”,因为无论如何这对我来说更有意义……大错特错!查询突然停止工作......经过几个小时的研究,我意识到'release'是mySQL中的保留词,只有在使用正确的转义时才能使用。在这种情况下,转义是符号`,就像这样

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

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

4

2 回答 2

4

到处使用反引号。

$sql = 'SELECT `release`.release_id, `release`.title, `release`.subtitle
        FROM `release`
        WHERE `release`.released_id = 567';
于 2013-07-13T22:58:05.830 回答
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';
于 2013-07-13T22:59:12.627 回答