$table = ''.DB_pre.$table.''; ここでバッククォートが使用されているのはなぜですか?
変数を文字列のように見せるために `` 記号を追加したからです。
それはデータテーブルの名前ですよね?
$table = '`'.DB_pre.$table.'`'
バックティックは mysql の名前エスケープ文字です
mysql の予約語をフィールドとして使用する場合名前またはテーブル名 曖昧さを避けるため、バッククォートで囲む必要があります
予約語でない場合はエスケープする必要はありません
ただし、プログラムを使用して mysql 命令を生成する場合は、動的に構築された名前が予約語であるかどうかをプログラムが予測することは不可能です (確認するのが面倒です)。そのため、プログラムを作成するときは、??文字??を防ぐためにフィールド名とテーブル名をエスケープしてください
。
たとえば、テーブル名は、index
select * formindex ?Out? です。なぜなら、index は SQL の単語だからです。
したがって、
select * from `index ` する必要があります