ホームページ >バックエンド開発 >PHPチュートリアル >Mysql 「テーブル名を挿入...」 テーブル名を変数にできますか?
Mysql 「テーブル名を挿入...」 テーブル名を変数として使用できますか?それを達成するにはどうすればよいでしょうか?
mysql_query("insert into".$tableName."values
mysql_query("insert into".$tableName."values()");
たとえば、各ユーザーは登録時に対応するデータテーブルを生成します。次に、ユーザー 0101 がログインした後、0101 (両方のユーザー) を入力します。 name とテーブル名) が $_SESSION['msg'] に保存されている場合、次のように書きます:
$tableName=$_SESSION['msg'];
mysql_query("insert into".$tableName." (id, name,telephone) value('$counters[0]','$counters[1]','$counters[2]')");
それでもエラーが発生するのはなぜですか?
session を使用する前に
session_start(); を実行しましたか?
SQL を出力して出力を確認してください
mysql_query("insert into ".$tableName." (id,name,telephone) 値 ('$counters[0]','$counters[1]' ,'$counter[2]')");
エラー:SQL 構文にエラーがあります。''0101' (id,name,電話)values ('?1','Wang Gang','19011224442 ')' 1 行目
session_start(); も書きました
SQL を印刷して、出力内容を確認してください
出力: '0101' (id,name,telephone)values('?1','Wang Gang','19011224442 ') に挿入します
mysql_query("insert into `$tableName` (id,name,telephone) values ('$counters[0]','$counters[1]','$counters[2]')");
テーブル名を一重引用符で直接追加する必要はありません。 SQL ステートメントを出力するだけで、どこが間違っているかがわかります
ありがとうございます。おっしゃるとおりにデバッグしました。
$tableName=$_SESSION['msg' ];
$sql =mysql_query('set names utf8') ;
mysql_query($sql);
$sql="$tableName (id,name,telephone)values('$counters[0]','$) に挿入counter[1]','$counters[2]') ";