ホームページ  >  記事  >  バックエンド開発  >  Mysql 「テーブル名を挿入...」 テーブル名を変数にできますか?

Mysql 「テーブル名を挿入...」 テーブル名を変数にできますか?

WBOY
WBOYオリジナル
2016-06-23 14:05:371843ブラウズ

Mysql 「テーブル名を挿入...」 テーブル名を変数として使用できますか?それを達成するにはどうすればよいでしょうか?


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

$tableName = 'member';


mysql_query("insert into".$tableName."values

$tableName = 'member';


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(); を実行しましたか?

mysql_query("「.$tableName.」に挿入します。(id,name,telephone) 値 ('$counters[0]','$counters[1]','$counters[2]')") ;

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 ステートメントを直接出力する必要はありません。どこが間違っているかがわかります

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]') ";

[img=http://forum.csdn.net/PointForum/ui/scripts/csdn/Plugin/001/face/12.gif"] [/img]

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