Ошибка mysql

Дизайн, программирование, CMS, верстка, хостинг, домены
Аватара пользователя
BORA
Сообщения: 171
Зарегистрирован: 21 дек 2010, 20:05

Ошибка mysql

Сообщение BORA »

Переношу ucoz на php . Постояно ошибка =(
Table 'ucoz.dle_users' doesn't exist

Код скрипта , запроса к базе

Код: Выделить всё

<?phpinclude "config.php"; $filename = "../ucoz/_s1/users.txt"; $fd = fopen($filename, "r"); $i = 0; mysql_query("SET CHARACTER SET cp1251"); mysql_query("ALTER TABLE `dle_users` CHANGE `name` `name` VARCHAR( 255 ) NOT NULL; ALTER TABLE `dle_users` CHANGE `fullname` `fullname` VARCHAR( 255 ) NOT NULL;"); echo "Лог ковертирования<br>";    while (!feof ($fd))         {             $bufer[$i] = fgets($fd, 4096);                        $bufer[$i] = iconv("UTF-8", "Windows-1251", "$bufer[$i]");                                    $arr = explode("|", $bufer[$i]);                        $i++;            if($arr[0] != ""){                        $query = "INSERT IGNORE INTO {$prefix}_users (`email`, `password`, `name`, `news_num`, `comm_num`, `user_group`, `lastdate`, `reg_date`, `banned`, `allow_mail`, `info`, `signature`, `foto`, `fullname`, `land`, `icq`, `favorites`, `pm_all`, `pm_unread`, `time_limit`, `xfields`, `allowed_ip`, `hash`, `logged_ip`, `restricted`, `restricted_days`, `restricted_date`) VALUES('$arr[7]', '$arr[2]', '$arr[0]', 0, 0, 4, '', '$arr[15]', '', 1, '', '$arr[13]', '', '$arr[5]', '$arr[10]', '$arr[9]', '', 0, 0, '', '', '', '', '$arr[16]', 0, 0, '');";            $result = mysql_query($query);                         if(!$result) { echo ("<font color=red>MySQL вернула ошибку <br><textarea style='width: 300px; height: 200px'>".mysql_error()."</textarea><br> в коде <br><textarea style='width: 300px; height: 200px'>{$query}</textarea><br><br></font>");} else echo "Пользователь «$arr[0]» успешно сконвертирован<br>";             }                    }        fclose($fd); echo "Конвертация пользователей завершена!<br>"; ?>
Чё не так ?
Аватара пользователя
gaponj88
Сообщения: 433
Зарегистрирован: 21 окт 2011, 12:26

Re: Ошибка mysql

Сообщение gaponj88 »

BORA
Это значит что таблица не существует)
Наверное в config.php у тебя не правильно написанно имя таблицы)
Надо наверно dle_users вместо ucoz.dle_users
Аватара пользователя
BORA
Сообщения: 171
Зарегистрирован: 21 дек 2010, 20:05

Re: Ошибка mysql

Сообщение BORA »

я так делал все ровно , помогите кто нибудь пожалуйста !
Alazaur
Разработчик
Разработчик
Сообщения: 1001
Зарегистрирован: 16 окт 2011, 20:25

Re: Ошибка mysql

Сообщение Alazaur »

Хм... ну мы же не можем знать какие у вас существуют таблицы, а какие нет. Зайдите в phpMyAdmin (если у вас конечно она для управления базами) и посмотрите какие у вас есть таблицы
Аватара пользователя
gaponj88
Сообщения: 433
Зарегистрирован: 21 окт 2011, 12:26

Re: Ошибка mysql

Сообщение gaponj88 »

Нет ну текст ошибки,тебе прямо говорит:Table 'ucoz.dle_users' doesn't exist таблица ucoz.dle_users не существует,создай,или посмотри где ошибка в названии)
Аватара пользователя
BORA
Сообщения: 171
Зарегистрирован: 21 дек 2010, 20:05

Re: Ошибка mysql

Сообщение BORA »

ALTER TABLE `dle_users` CHANGE `name` `name` VARCHAR( 255 ) NOT NULL; ALTER TABLE `dle_users` CHANGE `fullname` `fullname` VARCHAR( 255 ) NOT NULL;
Я этим запросом создаю , она не создаёца =( !!!
Alazaur
Разработчик
Разработчик
Сообщения: 1001
Зарегистрирован: 16 окт 2011, 20:25

Re: Ошибка mysql

Сообщение Alazaur »

ALTER TABLE изменяет, а не создает таблицу...
CREATE TABLE создает.
Аватара пользователя
BORA
Сообщения: 171
Зарегистрирован: 21 дек 2010, 20:05

Re: Ошибка mysql

Сообщение BORA »

CREATE TABLE `dle_users` CHANGE `name` `name` VARCHAR( 255 ) NOT NULL;CREATE TABLE `dle_users` CHANGE `fullname` `fullname` VARCHAR( 255 ) NOT NULL;
#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 'CHANGE `name` VARCHAR( 255 ) NOT NULL' at line 1

Тут много талантливых программистов , не уж то не кто не знает как помочь ?
Alazaur
Разработчик
Разработчик
Сообщения: 1001
Зарегистрирован: 16 окт 2011, 20:25

Re: Ошибка mysql

Сообщение Alazaur »

Код: Выделить всё

CREATE TABLE dle_users (userid INT(11) NOT NULL AUTO_INCREMENT,email TEXT,password TEXT,name TEXT,news_num INT(11),comm_num INT(11),user_group INT(11),lastdate TEXT,reg_date TEXT,banned TEXT,allow_mail TEXT,info TEXT,signature TEXT,foto TEXT,fullname TEXT,land TEXT,icq TEXT,favorites TEXT,pm_all INT(11),pm_unread INT(11),time_limit TEXT,xfields TEXT,allowed_ip TEXT,hash TEXT,logged_ip TEXT,restricted TEXT,restricted_days TEXT,restricted_date TEXT,PRIMARY KEY(userid));
Попробовать можете, но это использовать рекомендую только в качестве примера. Все типы я проставил можно сказать набапл, как и поле userid.
А никто не берется помогать, потому что заранее видят, не будет из этой затеи хорошего исхода. Ну нельзя при работе с БД вот так не понимая ее запросов просто скопировать код и надеяться что все прокатит. Не прокатит я вам точно говорю. Сейчас пользователей перенесете, дальше еще больше проблем появится.
Аватара пользователя
bodnar
Модератор
Модератор
Сообщения: 1399
Зарегистрирован: 03 апр 2010, 06:41

Re: Ошибка mysql

Сообщение bodnar »

BORA
нельзя просто взять и сменить одно слово в запросе, это разные операторы, у них разный синтаксис, гугли синтаксис create table
Ответить