2013-08-14 6 views
0
$sql = "CREATE TABLE tickets 
    (
    ID INT NOT NULL AUTO_INCREMENT PRIMARY KEY, 
    Name VARCHAR(32), 
    Email VARCHAR(40), 
    Subject VARCHAR(40), 
    Subject TEXT(500), 
    open VARCHAR(10) 
    )"; 

$con->query($sql); 

Почему не работает запрос MySQLi выше? Я успешно установил соединение с базой данныхПочему этот запрос CREATE TABLE не работает

+3

Вы проверки возвращаемого значения? Увидеть, сообщает ли база данных об ошибке? Работает ли этот SQL, когда вы запускаете его непосредственно в базе данных? – andrewsi

+0

Решена ли ваша проблема? –

ответ

0

У вас есть 2 поля для темы. Переименуйте один из них:

$sql = "CREATE TABLE tickets 
(
ID INT NOT NULL AUTO_INCREMENT PRIMARY KEY, 
Name VARCHAR(32), 
Email VARCHAR(40), 
Subject VARCHAR(40), // HERE 
Subject TEXT(500), // HERE 
open VARCHAR(10) 
)"; 
2

У вас есть повторяющаяся колонка, которая является предметом.

Schema Creation Failed: Duplicate column name 'Subject' 

Переименование одной из двух столбцов, например:

$sql = "CREATE TABLE tickets 
     (
     ID INT NOT NULL AUTO_INCREMENT PRIMARY KEY, 
     Name VARCHAR(32), 
     Email VARCHAR(40), 
     Subject VARCHAR(40), 
     Subject_text TEXT(500), 
     open VARCHAR(10) 
     )"; 

$con->query($sql); 

Вы можете использовать этот сайт http://sqlfiddle.com/ для тестирования SQL :)

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