現在、月ごとにデータベースを作成する必要があります (つまり、date('Ym'))。現在の SQL ステートメント:
$sql = "CREATE TABLE IF NOT EXISTS time (file_id int(10) auto_increment primary key,filename varchar(60),filepath varchar(60),filesize int(10),uploadtime date)";
MySQL では通常、テーブル名とフィールド名が変数の命名規則に準拠する必要があります。
つまり、文字またはアンダースコアで始まり、その後に文字、数字、アンダースコアのいくつかの組み合わせが続きます
変数の命名規則に準拠していない名前、または mysql の予約語を満たす名前の場合は、エスケープで囲む必要があります文字 `
CREATE TABLE IF NOT EXISTS `201303` (....
以上です
MySQL では通常、変数の命名規則に準拠するテーブル名とフィールド名が必要です。
つまり、文字またはアンダースコアで始まり、その後にいくつかの文字が続きます文字、数字、アンダースコアの組み合わせ
名前が変数の命名規則に準拠していない場合、または名前が mysql の予約語である場合は、エスケープ文字で囲む必要があります `
CREATE TABLE IF NOT EXISTS `201303` ( ....
以上です
次に、変数をエスケープする方法は? たとえば、$dbtime=date('Ym') の場合、データベース名は $dbtime です。その後、ステートメントをどのように記述するか
わかりません。やりたいこと
何をしたいのかわかりません
たとえば、2013 年 3 月の場合、特定のデータベースに 201303 という新しいデータ テーブルを作成します (存在しない場合)。 ; 4 月に 201304 という新しいデータ テーブルを作成する、というように、正しい SQL ステートメントの書き方を知る必要があります。 `$dbtime` ( .... ";
実際、前に文字を追加すると単純明快ではないでしょうか?
$ dbtime = 't' . date('Ym');
$sql = "存在しない場合はテーブルを作成 $dbtime ( .... ";
$dbtime = date('Ym');
$sql = " 存在しない場合はテーブルを作成 `$dbtime` ( .... ";
実際、前に文字を追加すると簡単で明確です
$dbtime = 't' . date('Ym');
$sql = " CREATE TABLE IF NOT EXISTS $dbtime ( .... ";
この方法はうまくいきました。共有します。その前の t を削除する方法を見つけます