LINUX.ORG.RU

Проблемы плохого кода

 , , , ,


0

0

Итак есть задача.

Одна «серьёзная» веб-поделка читала MySQL запросы непостредственно из xml-файла, например:

<field name="goods_id" type="sql" query="SELECT ent.id as value, 
CONCAT(ent.title, ', ', fld.f_121, ', цена: ', ent.price, ', 
дата создания: ', DATE_FORMAT(ent.created_time,'%d.%m.%Y')) as goods_id                 
FROM #__rsdirectory_entries as ent, #__rsdirectory_entries_custom as fld                 
WHERE user_id = #user_id AND published = 1 AND fld.entry_id = ent.id AND 
(ent.expiry_time &gt; NOW() OR ent.expiry_time = '0000-00-00 00:00:00')" label="Товар">
<option value="0">---</option>
</field>

После внезапного переезда на Марийку этот код перестал работать. Как подружить MariaDB и xml ?

P.S. Да я понимаю, читатель, что должен тебе новые глаза.

Но поверь, что я за день насмотрелся еще больше :-)

★★★★★

Только марийка поменялась или ещё чего? Версия пыхпыха там, новую базу создали. Короче, нужен программист, который оценит масштаб беды и сколько придётся налаживать совместимость.

anonymous ()

Вижу странный XML, но не вижу обещанной проблемы. Что за ошибка то хоть? Как этот XML попадает в MySQL/MariaDB? Не через command line, я думаю? :)

PHPFan ()
Ответ на: комментарий от PHPFan

Проблема в том, что xml этот похоже не обрабатывается.

php-xml установлен. В остальном буду сегодня разбираться.

Это еще и Джумла к тому же.

Twissel ★★★★★ ()
Ответ на: комментарий от Twissel

Ты понимаешь что между этим ХМЛ и базой еще есть прослойка КОДА, в котором, собственно, проблема? Включи отображение ошибок и сразу все поймешь. Это ведь не стандартная утилита, это чейт-то говнокод. А листинг что привел можешь себе оставить, он не о чем не говорит. Тебе в джобс с такими вопросами.

anonymous ()
Ответ на: комментарий от anonymous

Да я уже сказал, чтоб писали автору говнокода, т.к. там такого накручено, что сразу видно Senior Joomla Developer .

Twissel ★★★★★ ()

Ты бы хоть ошибку показал. Так только гадать, например 0000-00-00 00:00:00 невалидное время, и может падать если включить строгую проверку в настройках.

ya-betmen ★★★★★ ()
Последнее исправление: ya-betmen (всего исправлений: 1)
Ответ на: комментарий от ya-betmen

Ошибки как таковой и нет. Просто «не видит» нужной таблицы почтовой рассылки в БД. В логах чисто. Там правда есть еще такая хрень как isp-manager. Так вот в нем имя сервера VPS не совпадает с доменным именем :-D

Но я решил забить на эту задачу, у меня от Джумлы до сих пор глаза кровоточат.

Twissel ★★★★★ ()
Последнее исправление: Twissel (всего исправлений: 1)
Ответ на: комментарий от Twissel

попробовл бы включить вывод ошибок, если там @собаками @не @задушено.

anonymous ()
Ответ на: комментарий от Twissel

имя сервера VPS не совпадает с доменным именем

Что в этом плохого? На доменное имя в 99% случаев отзывается только веб-сервер, так какая разница, какое имя у системы?

anonymous ()
Ответ на: комментарий от ya-betmen

0000-00-00 00:00:00 невалидное время

Можешь дать ссылку почитать про подобные косяки?

Там это как раз такое время частенько встречается.

Хотя уже пофиг, но для общего развития сгодится на будущее.

Twissel ★★★★★ ()
Ответ на: комментарий от Twissel

Это называется не «правильно», а «настраивать согласно настоятелю моей внутренней церкви, которые заставляет меня следовать необъяснимым правилам.» На улице уже давно не 20-й век, ало!

anonymous ()
Ответ на: комментарий от anonymous

Ну если твою мысль развивать и дальше, то и для именования переменных должно хватить подхода Fortran 77: a1, a2 etc.

Twissel ★★★★★ ()

Некоторые запросы для mysql и MariaDB несовместимы между собой. Проверяй выходной sql код.

crutch_master ★★★★★ ()

Переехал бы сразу на PostgreSQL нечем одно кривое поделие менять на другое.

Описание проблемы для телепатов. Ни сообщений об ошибках, ничего. Запрос скопируй из XML файла и вставь в клиент что бы посмотреть правильный ли ответ или ошибка выдаётся.

iluha16 ()
Ответ на: комментарий от iluha16

Илюша, у темы уже стоит статус «решено», если ты не заметил :-)

Я все варианты перепробовал, только потом создал пост.

После посоветовал заказчику вернуться на мускуль, на котором их говнокод без проблем полгода работал и умыл руки.

Twissel ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.