У меня проблема со скриптом, который я пытаюсь создать, он обновляет некоторые параметры на веб-сайте joomla cms. Если я делаю обновления в phpmyadmin, а затем нажимаю go, он говорит:
UPDATE `websit52_rcsetch`.`u5b0y_modules` SET `params` = '{"moduleclass_sfx":"demovideos","youtube_id":"XM0aLFaij8I3","width":"300","height":"200","responsive":"1","cache":"1","cache_time":"900","cachemode":"itemid"}' WHERE `u5b0y_modules`.`id` =192;
так что я думаю, хорошо, я просто скопирую этот запрос и поместу его в php и изменим параметры так, как мне нужно.
так что в итоге:
mysql_query("UPDATE `websit52_rcsetch`.`u5b0y_modules` SET `params` = '{"moduleclass_sfx":"demovideos","youtube_id":"XM0aLFaij8I3","width":"300","height":"200","responsive":"1","cache":"1","cache_time":"900","cachemode":"itemid"}' WHERE `u5b0y_modules`.`id` =192;")or die(mysql_error());
Теперь проблема в этой строке в Dreamweaver. Я получаю красное предупреждение об ошибке в этой строке, но все, что я сделал, это буквально скопировал запрос в запрос mysqli, так что не могу понять, почему он не работает? Он говорит, что есть синтаксическая ошибка, которая, как я предполагаю, вызвана двойными кавычками, которые используют параметры, но я не уверен, смогу ли я избежать их без влияния на запрос?, Или есть что-то еще, вызывающее проблему?
mysql_query("UPDATE `websit52_rcsetch`.`u5b0y_modules` SET `params` = '{\"moduleclass_sfx\":\"demovideos\",\"youtube_id\":\"XM0aLFaij8I3\",\"width\":\"300",\"height":\"200\",\"responsive\":\"1\",\"cache\":\"1\",\"cache_time\":\"900\",\"cachemode\":\"itemid\"}' WHERE `u5b0y_modules`.`id` =192;")or die(mysql_error());
В Joomla synthax:
$db = JFactory::getDbo();
$query = $db->getQuery(true);
// Fields to update.
$fields = array(
$db->quoteName('params') . ' = ' . $db->quote('{"moduleclass_sfx":"demovideos","youtube_id":"XM0aLFaij8I3","width":"300","height":"200","responsive":"1","cache":"1","cache_time":"900","cachemode":"itemid"}')
);
// Conditions for which records should be updated.
$conditions = array(
$db->quoteName('id') . ' = 192'
);
$query->update($db->quoteName('#__modules'))->set($fields)->where($conditions);
$db->setQuery($query);
$result = $db->query();
Других решений пока нет …