ホームページ  >  記事  >  バックエンド開発  >  $table = ''.DB_pre.$table.'''; ここでバッククォートが使用されているのはなぜですか?

$table = ''.DB_pre.$table.'''; ここでバッククォートが使用されているのはなぜですか?

WBOY
WBOYオリジナル
2016-06-23 13:44:351152ブラウズ

$table = ''.DB_pre.$table.''; ここでバッククォートが使用されているのはなぜですか?


ディスカッションへの返信 (解決策)

変数を文字列のように見せるために `` 記号を追加したからです。

それはデータテーブルの名前ですよね?

$table = '`'.DB_pre.$table.'`'
バックティックは mysql の名前エスケープ文字です
mysql の予約語をフィールドとして使用する場合名前またはテーブル名 曖昧さを避けるため、バッククォートで囲む必要があります
予約語でない場合はエスケープする必要はありません
ただし、プログラムを使用して mysql 命令を生成する場合は、動的に構築された名前が予約語であるかどうかをプログラムが予測することは不可能です (確認するのが面倒です)。そのため、プログラムを作成するときは、??文字??を防ぐためにフィールド名とテーブル名をエスケープしてください



たとえば、テーブル名は、index
select * formindex ?Out? です。なぜなら、index は SQL の単語だからです。

したがって、
select * from `index ` する必要があります

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。