【发布时间】:2013-04-13 19:46:10
【问题描述】:
我知道这已经被问过数百次了,但是我在互联网上四处寻找,找不到我的语法可能有什么问题:
mysql_select_db('Projects');
$sql = "CREATE TABLE $data[ID] (
ID INT NOT NULL,
Creator INT NOT NULL,
Name VARCHAR(20) NOT NULL,
Version VARCHAR(20) NOT NULL,
Status VARCHAR(20) NOT NULL,
Date VARCHAR(20) NOT NULL,
Skript VARCHAR(20) NOT NULL,
Filename VARCHAR(20) NOT NULL,
Downloads INT NOT NULL,
PRIMARY KEY(ID)
)";
if (mysql_query($sql)){
echo "Created";
}else{
echo "Not created, ".mysql_error();
}
我尝试使用反引号、引号等,但没有成功。报错中显示的表名(21)是正确的。
这是我得到的错误,包括回显“未创建,”;:
未创建,您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 1 行的 '23 ( ID INT NOT NULL, Creator INT NOT NULL, Name VARCHAR(20) NOT NUL' 附近使用正确的语法
【问题讨论】:
-
$data[ID] 的值是多少?
-
在运行查询前回显 $sql 会得到什么结果?
-
$data[ID] 的值为 21,用反引号括起来就行了! @bestprogrammerintheworld
标签: php mysql sql create-table