Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Unknown column 'uid' in 'field list'!!!
 
 автор: beragumbo   (14.04.2011 в 15:59)   письмо автору
 
 

Решил перенести свой сайт с ucoz на DLE, скачал скрипт. Конвертируется всё кроме форума, хотя модуль DLE Forum установлен и работает. Конвертирование форума проходит в 3 этапа. Один конвертируется успешно, второй (о нём в начале сообщения) и третий (в конце поста) тоже не работают. А дело вот в чём: при попытке конвертирования (запускаю через ссылку php файл) выдаёт отчёт об конвертировании, в котором Unknown column 'uid' in 'field list'.
Я в прогаммировании ничего не понимаю, но слово uid встречается в строках

$info = "SELECT * FROM {$prefix}_forum_forums WHERE uid = $arr[1]";
и
$query = "INSERT IGNORE INTO {$prefix}_forum_topics (`tid`, `forum_id`, `title`, `topic_descr`, `post`, `author_topic`, `start_date`, `topic_status`, `uid`, `last_date`, `last_poster_name`) VALUES

причём лог конверта ругается именно на вторую строку. Можно ли это как то исправить?

полный текст скрипта(извините, тег спойлер не сработал)
<?php

include "config.php";

$filename = "../ucoz/_s1/forum.txt";

$fd = fopen($filename, "r");

$i = 0;


mysql_query("SET CHARACTER SET cp1251");

echo "Лог ковертирования<br>";
while (!feof ($fd))
{

$bufer[$i] = fgets($fd, 4096);

$bufer[$i] = iconv("UTF-8", "Windows-1251", "$bufer[$i]");

$arr = explode("|", $bufer[$i]);

$i++;

$info = "SELECT * FROM {$prefix}_forum_forums WHERE uid = $arr[1]";

$a = mysql_query($info);

$dat_e = date('Y-m-d G:i:s' ,$arr[4]);
if($arr[6] != ""){
while($id = mysql_fetch_array($a)){

$forumid = $id[id];
}

$query = "INSERT IGNORE INTO {$prefix}_forum_topics (`tid`, `forum_id`, `title`, `topic_descr`, `post`, `author_topic`, `start_date`, `topic_status`, `uid`, `last_date`, `last_poster_name`) VALUES
(0, '$forumid', '$arr[8]', '$arr[9]', '$arr[6]', '$arr[10]', '$dat_e', '$arr[5]', '$arr[0]', '$dat_e', '$arr[12]');
";
$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[8]» успешно сконвертирована<br>";
}

}

fclose($fd);

echo "Конвертация тем завершена!<br>";

?>


Третий этап проходит наполовину, то есть он делает названия форумов, но после каждого сконвертированного названия вылетает ошибка, аналогичная первой!

Лог ковертирования
Категория «Лучшие статьи» успешно сконвертирована
MySQL вернула ошибку
Unknown column 'uid' in 'field list'

Приведу полный текст скрипта
<?php

include "config.php";

$filename = "../ucoz/_s1/fr_fr.txt";

$fd = fopen($filename, "r");

$i = 0;

$e = 0;

mysql_query("SET CHARACTER SET cp1251");

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[2] == 1)

{
if($arr[5] != ""){

$query = "INSERT IGNORE INTO {$prefix}_forum_category (`sid`, `cat_name`, `posi`) VALUES
(0, '$arr[5]', 1);
";
$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[5]» успешно сконвертирована<br>";
}
$e++;

$arr[2] = 1;

}

else{
if($arr[5] != ""){
$arr[11] = date('Y-m-d G:i:s' ,$arr[11]);
$query = "INSERT IGNORE INTO {$prefix}_forum_forums (`id`, `main_id`, `name`, `description`, `access_read`, `uid`, `f_last_title`, `f_last_poster_name`, `f_last_tid`, `topics`, `posts` , `f_last_date`) VALUES
(0, '$e', '$arr[5]', '$arr[6]', '1:2:3:4:5', '$arr[0]', '$arr[17]', '$arr[15]', '$i', '$arr[16]', '$arr[10]', '$arr[11]');
";
$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[5]» успешно сконвертирован<br>";
}
}
}

fclose($fd);

echo "Конвертация категорий и форумов завершена!<br>";

?>



Надеюсь, мне помогут!!!

  Ответить  
 
 автор: cheops   (14.04.2011 в 16:10)   письмо автору
 
   для: beragumbo   (14.04.2011 в 15:59)
 

>Unknown column 'uid' in 'field list'.
Это говорит об отсуствии поля uid.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования