1

だから、ディスコグラフィーテーブルの名前を「アルバム」から「リリース」に変更しようと思っていたのですが、とにかく、それは私にとってより意味のあるものでした...大きな間違いです! クエリが突然機能しなくなりました...何時間も調査した後、「リリース」は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

それらをエスケープするには、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 に答える