0

PHP(mysql_query)を使ってデータベースにテーブルを作成したい

テーブルには「n」個の属性があります。n のうち、n-2 個の属性名が配列で使用可能です。

配列を取得している場所を説明することはできませんが、次のようになります- http://i.stack.imgur.com/tH98f.png

以下は、mysql_query で実行する文字列を生成するためのコードです。

    $str="CREATE TABLE $register_name(id int NOT NULL AUTO_INCREMENT, date DATE, ";
    $j=0;
    while($j<$i)
    {
        $str=$str.$roll_no[$j]." int(100), ";
        $j++;

    }
    $str=$str."PRIMARY KEY(id))";


require('blogic.php');
$obj = new blogic();
$createtable=$obj->create($str);

$str をエコーすると、次のようになります。

CREATE TABLE $register_name(id int NOT NULL AUTO_INCREMENT, date DATE, 913310128 int(100), 0913310129 int(100), PRIMARY KEY(id))

ただし、このようなエラーが発生しています

SQL 構文にエラーがあります。MySQL サーバーのバージョンに対応するマニュアルで、1 行目の '913310128 int(100), 0913310129 int(100), PRIMARY KEY(id))' 付近で使用する正しい構文を確認してください。

問題がわかりません。roll_no 配列を使用しない場合、問題なく動作します。これの問題点を教えてください。

4

1 に答える 1

1

ドキュメントから:

「識別子は数字で始まる場合がありますが、引用されていない限り、数字だけで構成することはできません。」

したがって、名前を引用することができます:

$str=$str."`".$roll_no[$j]."` int(100), ";

または、先頭に文字を付けます。

$str=$str."c".$roll_no[$j]." int(100), ";
于 2013-03-26T18:14:46.087 に答える