我想使用php(mysql_querry)
在数据库中创建一个表表具有'n'个属性。 n,n-2个属性名称在数组中可用。
我无法解释我在哪里获得阵列但它看起来像这样 - http://i.stack.imgur.com/tH98f.png
以下是生成要在mysql_querry中执行的String的代码。
$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服务器版本,以便使用正确的语法 '913310128 int(100),0913310129 int(100),PRIMARY KEY(id))'附近 第1行
我不明白这个问题。当我不使用roll_no数组,它工作正常.. 请告诉我这是什么问题。
答案 0 :(得分:1)
来自docs:
“标识符可以以数字开头,但除非引用可能不仅仅由数字组成。”
所以,你可以引用这个名字:
$str=$str."`".$roll_no[$j]."` int(100), ";
或者在前面添加一个字母:
$str=$str."c".$roll_no[$j]." int(100), ";