【发布时间】:2012-01-27 20:30:17
【问题描述】:
我在 php 中使用 mysql 数据库创建表时出错,我尝试直接在 mysql 查询引擎上进行测试,它工作正常。而在php代码中它给出了以下错误
您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以了解在附近使用的正确语法。
下面是我写的代码
$query14 = mysql_query("create table $tablename (
project_id INT,
project_client_id INT,
project_partner_id INT,
project_manager_id INT,
project_employees INT,
project_name VARCHAR(500),
project_status TEXT,
project_summary LONGTEXT,
project_order INT,
project_start_date DATETIME,
project_end_date DATETIME
) ENGINE = INNODB;");
下面是附加的图像和表结构,这是我使用 phpmyadmin 界面创建的示例表。 以下是完整的错误
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''8' (project_id INT, project_client_id INT, project_partner_id INT, project_mana' at line 1`
【问题讨论】:
-
执行此操作时的 $tablename 是什么?
-
我认为 $tablename 与 '$tablename' 一起使用??
-
@MarcB 和 @jogesh_p :$tablename 值是动态的,它会随着一些 id 的变化而变化,并且工作正常。即使我将其更改为 '$tablename',但没有成功。我的$tablename 有一个值,我有
echoed it -
@Rafee:你能给我们举个例子,看看
$tablename的样子吗?你确定这是失败的查询吗?顺便提一句。引用的版本更像`$tablename`(希望看起来正确,因为它也是 SO-inline-code-character) -
@raffe:
create table '$tablename' ...将是一个语法错误。不能像那样引用字段/表名称 - 它会将它们变成字符串,而不是字段/表名称。您收到的完整错误消息是什么,尤其是...to use near:之后的部分:这是重要/关键部分。
标签: php mysql create-table