SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 11.08.2012 17:34:46

Andy80
Участник
Зарегистрирован: 11.08.2012
Сообщений: 4

Исправляю конвертер ПОМОГИТЕ

Исправляю конвертер базы данных.
Вот код php:

Код:

<?

    $pole = "akters"; // Где xf_actors это доп поле в котором ранее содержался список актёров
    define('DATALIFEENGINE', true);
    define('LOGGED_IN', true);

    define('ROOT_DIR', dirname (__FILE__));
    define('ENGINE_DIR', ROOT_DIR.'/engine');
    require_once ENGINE_DIR.'/classes/mysql.php';
    require_once ENGINE_DIR.'/data/dbconfig.php';
    require_once ENGINE_DIR.'/modules/functions.php';
    
    $count = $db->super_query("SELECT count(*) as count FROM ".PREFIX."_post ");
    $sql = $db->query("SELECT id, xfields FROM ".PREFIX."_post LIMIT 0,{$count['count']}");
    $xfields = xfieldsload();
    while ($row = $db->get_row($sql)){
        $xfieldsdata = xfieldsdataload( $row['xfields'] );
        //die(print_r($xfieldsdata));
        foreach (explode(", ", $xfieldsdata[$pole]) as $key => $name) $name != '' ? $actors_array[totranslit($name)] = $name: true;
        $actors_list = serialize($actors_array);
        $db->query('UPDATE '.PREFIX.'_post SET actors='{$actors_list}' WHERE id='{$row['id']}'');
unset($actors_list);
    }
    echo "Конвертирование данных успешно выполнено. Удалите файл <b>convertxf.php</b> из папки с сайтом!!!";

?>

Сначала апачи ругался на '{' в 21 строке, заменил на '.'.
Выходит все-равно ошибка:

The Error returned was:
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 'WHERE id=8' at line 1

Error Number:
1064
UPDATE dle_post SET actors=N; WHERE id=8

Помогите пожалуйста сделать корректный запрос, чтобы работал нормально.
Пытался обратиться к разработчику, но то не отвечает ни в ICQ ни по e-mail.
Я сам вообще далеко не спец в этом.

Неактивен

 

#2 11.08.2012 17:52:23

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: Исправляю конвертер ПОМОГИТЕ

Исправьте запрос так чтобы вместо
UPDATE dle_post SET actors=N; WHERE id=8
было
UPDATE dle_post SET actors=N WHERE id=8

Неактивен

 

#3 11.08.2012 19:49:15

Andy80
Участник
Зарегистрирован: 11.08.2012
Сообщений: 4

Re: Исправляю конвертер ПОМОГИТЕ

vasya написал:

Исправьте запрос так чтобы вместо
UPDATE dle_post SET actors=N; WHERE id=8
было
UPDATE dle_post SET actors=N WHERE id=8

Что-то не пойму как sad

Неактивен

 

#4 11.08.2012 21:50:08

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: Исправляю конвертер ПОМОГИТЕ

$db->query('UPDATE '.PREFIX.'_post SET actors='."$actors_list".' WHERE id='{$row['id']}'');

Неактивен

 

#5 11.08.2012 22:14:48

Andy80
Участник
Зарегистрирован: 11.08.2012
Сообщений: 4

Re: Исправляю конвертер ПОМОГИТЕ

vasya написал:

$db->query('UPDATE '.PREFIX.'_post SET actors='."$actors_list".' WHERE id='{$row['id']}'');

Не помогло. Так опять ругается апачи, сделал так:

Код:

$db->query('UPDATE '.PREFIX.'_post SET actors='."$actors_list".' WHERE id='.$row['id'].'');

Но опять "actors=N;"

Неактивен

 

#6 11.08.2012 22:35:38

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: Исправляю конвертер ПОМОГИТЕ

Описался
$db->query('UPDATE '.PREFIX.'_post SET actors="'.$actors_list.'" WHERE id='.$row['id'].'');

Неактивен

 

#7 11.08.2012 22:45:06

Andy80
Участник
Зарегистрирован: 11.08.2012
Сообщений: 4

Re: Исправляю конвертер ПОМОГИТЕ

vasya написал:

Описался
$db->query('UPDATE '.PREFIX.'_post SET actors="'.$actors_list.'" WHERE id='.$row['id'].'');

Теперь вот что выдал:

Код:

UPDATE dle_post SET actors="s:12:"Мэтью Модайн";" WHERE id=113

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson