[英]php mysql error for creating a table
我在使用mysql數據庫的php中創建表時遇到錯誤,我嘗試直接在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
是一個關鍵字。 請檢查以上兩個,否則可以。
更新:
根據您更新的問題,請嘗試使用以下代碼。 我認為它將為您提供幫助。
$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;");
您的查詢語法很好,看起來$ tablename為空。
我認為問題是$ tablename被替換了什么。
擁有完整的代碼示例將在調試錯誤時更加有用。
mysql create語句在mysql 5.1.58上可以正常工作。
正如您在上面的注釋中所說的那樣,在回顯$tablename
您得到的值是8
那么就不可能創建表。
您必須像tbl_8
這樣重命名$tablename
的值。
記住名稱tbl-8
也會出錯,
問題是,$ tablename當前為8,對於SQL表,表名必須以字母開頭。 當前表名無效。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.