Задавайте вопросы, мы ответим
Вы не зашли.
Исправляю конвертер базы данных.
Вот код 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.
Я сам вообще далеко не спец в этом.
Неактивен
Исправьте запрос так чтобы вместо
UPDATE dle_post SET actors=N; WHERE id=8
было
UPDATE dle_post SET actors=N WHERE id=8
Неактивен
vasya написал:
Исправьте запрос так чтобы вместо
UPDATE dle_post SET actors=N; WHERE id=8
было
UPDATE dle_post SET actors=N WHERE id=8
Что-то не пойму как
Неактивен
$db->query('UPDATE '.PREFIX.'_post SET actors='."$actors_list".' WHERE id='{$row['id']}'');
Неактивен
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;"
Неактивен
Описался
$db->query('UPDATE '.PREFIX.'_post SET actors="'.$actors_list.'" WHERE id='.$row['id'].'');
Неактивен
vasya написал:
Описался
$db->query('UPDATE '.PREFIX.'_post SET actors="'.$actors_list.'" WHERE id='.$row['id'].'');
Теперь вот что выдал:
UPDATE dle_post SET actors="s:12:"Мэтью Модайн";" WHERE id=113
Неактивен