2011-12-26 4 views
0

У меня возникла ошибка при создании таблицы в php с базой данных mysql, и я пробовал тестировать непосредственно на mysql query engine, она работает нормально. тогда как в php-коде он дает ошибку ниже.Ошибка php mysql для создания таблицы

У вас возникла ошибка в синтаксисе 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` 

enter image description here

+5

Что такое $ tablename во время выполнения этого? –

+0

Я думаю $ tablename с работой с '$ tablename' ?? –

+0

@MarcB и @jogesh_p: $ tablename значение динамическое, оно изменяется с некоторым id и работает нормально. И даже я меняю его на $ tablename, но не работает.И мое $ tablename имеет значение, и я 'эхом отозвался ' – Rafee

ответ

4

Я не вижу проблем с вашим запросом. Но какова ценность $tablename? Возможны две ошибки:

  1. Переменная $tablename пуста.
  2. $tablename - ключевое слово.

Пожалуйста, проверьте приведенные выше два, в противном случае все в порядке.

UPDATE:

В соответствии с обновленной вопрос, пожалуйста, попробуйте с помощью следующего кода. Я думаю, это поможет вам.

$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;"); 
+0

'$ tablename' не пуст, и если' $ tablename' - это ключевое слово, то у меня есть переменное значение '$ tablename1', но все равно оно не запускается. – Rafee

+0

укажите название своей таблицы. каково имя вашей таблицы? –

+0

См. '$ Tablename' генерируется динамически из другой базы данных, в настоящее время я exprimenting это и узнал, что' $ tablename' = '8', и я буду обновлять вопрос с дополнительной ошибкой – Rafee

1

Ваш синтаксис запроса хорошо, это выглядит как $ имя_таблица пуста.

0

Я думаю, что проблема заключается в замене на $ tablename.

Наличие полного кода примера было бы более полезным при отладке ошибки.

Инструкция mysql create прекрасно работает здесь, в mysql 5.1.58.

0

Как вы уже сказали выше, после эхо-ответа $tablename вы получили значение 8, тогда создать таблицу невозможно.

Вам необходимо переименовать значение $tablename как tbl_8.

помнит с именем tbl-8 ваших также получили ошибки ,,

+0

да !, я перешел на '$ tablename' =" project_ ". $ someid и получил ошибку с правильным синтаксисом для использования рядом с 'project_8' (project_id INT, project_client_id INT, project_partner_id INT, proj 'в строке 1' – Rafee

0

Проблема заключается в том, $ имя_таблица 8 в настоящее время и для таблицы SQL, имя таблицы должно начинаться с буквой. Текущее имя таблицы недопустимо.

Смежные вопросы