1

ユーザーがhtmlフォームに入力し、取得した情報を使用して対応する列を持つテーブルを作成するWebアプリケーションを構築しています。ただし、列の名前付けに POST 変数が使用されている場合、mysql はエラーを返します。コードのサンプルを次に示します。

$questionnaire = mysql_real_escape_string(htmlentities($_POST['questionnaire']));
$question = mysql_real_escape_string(htmlentities($_POST['question']));
$answer1 = mysql_real_escape_string(htmlentities($_POST['answer1']));
$answer2 = mysql_real_escape_string(htmlentities($_POST['answer2']));

mysql_query = "CREATE TABLE $questionnaire
               (id int(5) NOT NULL AUTO INCREMENT,
                PRIMARY KEY(id),
                question varchar(200),
                '$answer1' varchar(200),
                '$answer2' varchar(200) )";

$answer1値を使用して列に名前を付けるにはどうすればよいですか?

4

3 に答える 3

0

これAUTO INCREMENTをに変更AUTO_INCREMENT

http://www.w3schools.com/sql/sql_autoincrement.asp

于 2013-04-09T16:18:23.537 に答える
0

列名は識別子であるため、使用しBACKTICKないでください。SINGLE QUOTES

mysql_query = "CREATE TABLE $questionnaire
               (id int(5) NOT NULL AUTO INCREMENT,
                PRIMARY KEY(id),
                question varchar(200),
                `$answer1` varchar(200),
                `$answer2` varchar(200) )";
于 2013-04-09T16:12:31.453 に答える