2012-04-15 4 views
0

ошибка, когда требуется создать таблицу# 1064 Сообщение об ошибке

сказал MySQL:

1064 - 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 
'mysql_query("CREATE TABLE " . DB_TABLE_PREFIX . "mssgs (
id mediumint(5) unsig' at line 1 

mysql_query("CREATE TABLE " . DB_TABLE_PREFIX . "mssgs (
     id mediumint(5) unsigned NOT NULL auto_increment, 
     uid tinyint(3) unsigned NOT NULL default '0', 

     m tinyint(2) NOT NULL default '0', 
     d tinyint(2) NOT NULL default '0', 
     y smallint(4) NOT NULL default '0', 
     start_time time NOT NULL default '00:00:00', 
     end_time time NOT NULL default '00:00:00', 
     title varchar(50) NOT NULL default '', 
     text text NOT NULL, 
     PRIMARY KEY (id) 
    ) TYPE=MyISAM") or die(mysql_error()); 

    mysql_query("create index m on " . DB_TABLE_PREFIX . "mssgs (m)"); 
    mysql_query("create index y on " . DB_TABLE_PREFIX . "mssgs (y)"); 

    mysql_query("CREATE TABLE " . DB_TABLE_PREFIX . "users (
     uid smallint(6) NOT NULL auto_increment, 
     username char(15) NOT NULL default '', 
     password char(32) NOT NULL default '', 
     fname char(20) NOT NULL default '', 
     lname char(30) NOT NULL default '0', 
     userlevel tinyint(2) NOT NULL default '0', 
     email char(40) default NULL, 
     PRIMARY KEY (uid) 
    ) TYPE=MyISAM") or die(mysql_error()); 

    mysql_query("INSERT INTO " . DB_TABLE_PREFIX . "users 
     (username, password, fname, lname, userlevel, email) VALUES (
     'admin', 'password', 'default', 'user', 2, ''); 
    ") 
+0

Вы пытались выполнить все эти SQL-команды в MySQL (phpmyadmin) отдельно? – Lion

+0

@Lion: Должно быть потому, что ошибка говорит о синтаксической ошибке около 'mysql_query (', которая не является частью sql. –

ответ

1

Похоже, вы пытаетесь выполнить код, указанный выше в phpadmin.

Но это не чистый SQL. Это также PHP-код и не запускается в PHPAdmin.

Вам необходимо выполнить код между " и заполнить пробелы значениями. Вроде так

CREATE TABLE mssgs (
    id mediumint(5) unsigned NOT NULL auto_increment, 
    uid tinyint(3) unsigned NOT NULL default '0', 
    m tinyint(2) NOT NULL default '0', 
    d tinyint(2) NOT NULL default '0', 
    y smallint(4) NOT NULL default '0', 
    start_time time NOT NULL default '00:00:00', 
    end_time time NOT NULL default '00:00:00', 
    title varchar(50) NOT NULL default '', 
    text text NOT NULL, 
    PRIMARY KEY (id) 
) ENGINE=MyISAM; 
+0

на самом деле я делаю это в createtable.php ... , когда я следую советам, появляется новая ошибка # 1064 - У вас есть ошибка в синтаксисе SQL, проверьте руководство, соответствующее версии вашего сервера MySQL, для правильного синтаксиса для использования рядом с «TYPE = MyISAM» по строке 12 –

+0

@JerungHidupKu: 'TYPE' устарел. Замените его' ENGINE'. –

+0

спасибо всем ... очень нравится, что вы все помогаете ... –

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