Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/287.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用php创建数据库表时出错_Php_Mysql - Fatal编程技术网

使用php创建数据库表时出错

使用php创建数据库表时出错,php,mysql,Php,Mysql,我想使用php(mysql_query)在数据库中创建一个表 表的属性数为“n”。 在n个属性中,数组中有n-2个属性名称可用 我无法解释我从哪里得到阵列,但它看起来像这样- 下面是生成要在mysql_query中执行的字符串的代码 $str="CREATE TABLE $register_name(id int NOT NULL AUTO_INCREMENT, date DATE, "; $j=0; while($j<$i) { $str

我想使用php(mysql_query)在数据库中创建一个表

表的属性数为“n”。 在n个属性中,数组中有n-2个属性名称可用

我无法解释我从哪里得到阵列,但它看起来像这样-

下面是生成要在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);
然而,它给出了这样的错误

您的SQL语法有错误;检查手册 对应于您的MySQL服务器版本,以便使用正确的语法 在“913310128 int(100)、091330129 int(100)、主键(id))”附近 第1行

我不明白这个问题。当我不使用roll\u no数组时,它可以正常工作。。 请让我知道这有什么问题。

来自:

“标识符可以以数字开头,但除非引用,否则不能仅由数字组成。”

因此,您可以引用以下名称:

$str=$str."`".$roll_no[$j]."` int(100), ";
或者,在其前面加一个字母:

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

我从来没有见过mysql字段名像913310128这样的数字,请检查这是否允许。考虑把它改成类似于I99310128i的东西,我认为引文需要用反引号。你用底片或罗素引用的答案引用了他的答案吗?如果你不尝试我写的,为什么你说它不起作用?给列数字名称只是在自找麻烦。在前面写一封信,就像罗素的第二个建议。你应该记住接受解决问题的答案。单击答案旁边的绿色复选标记(然后返回到以前的问题并执行相同的操作)。
$str=$str."c".$roll_no[$j]." int(100), ";