Приложение Cron
Модератор: immortal
- adzam
- Сообщения: 602
- Зарегистрирован: Сб дек 08, 2012 10:28 pm
- Откуда: Кишинев
- Благодарил (а): 20 раз
- Поблагодарили: 138 раз
Приложение Cron
Почему если в Crone запланировать какое-либо задание то при сохранении вверху экрана пишет ошибку,в принцепе все работает но при каждом сохранении ругается.
Это у меня что-то не так или так должно быть?
Это у меня что-то не так или так должно быть?
Мои проекты здесь...https://connect.smartliving.ru/profile/41/blog213.htm
Если вам помогло какое-либо мое сообщение - не ленитесь пользоваться кнопкой СПАСИБО.
Если вам помогло какое-либо мое сообщение - не ленитесь пользоваться кнопкой СПАСИБО.
- xor
- Сообщения: 2041
- Зарегистрирован: Сб ноя 22, 2014 8:45 pm
- Благодарил (а): 286 раз
- Поблагодарили: 629 раз
Re: Приложение Cron
Не ругается, а предупреждает
c:\_majordomo\htdocs\lib\mysqli.class.php
Может, подправить надо после перехода на mysqli?
http://www.php.su/mysqli_fetch_array
Попробуйте поменять MYSQL_ASSOC на MYSQLI_ASSOC, перегрузитесь, если варнинг уйдет, Сергею напишите.
c:\_majordomo\htdocs\lib\mysqli.class.php
Код: Выделить всё
/**
* Execute SQL SELECT query and return first record
*
* This method returns record assosiated array (by field names)
*
* @param string $query SQL SELECT query
* @return array|void execution result
* @access public
*/
public function SelectOne($query)
{
if ($result = $this->Exec($query))
{
$rec = mysqli_fetch_array($result, MYSQL_ASSOC); //<----------------
return $rec;
}
else
{
$this->Error($query);
}
}
http://www.php.su/mysqli_fetch_array
Код: Выделить всё
/* associative array */
$row = mysqli_fetch_array($result, MYSQLI_ASSOC); //<-----------------------------
printf ("%s (%s)\n", $row["Name"], $row["CountryCode"]);
win10 connect https://connect.smartliving.ru/profile/303
- xor
- Сообщения: 2041
- Зарегистрирован: Сб ноя 22, 2014 8:45 pm
- Благодарил (а): 286 раз
- Поблагодарили: 629 раз
Re: Приложение Cron
нет, там, вроде, это учтено
в c:\_majordomo\htdocs\lib\mysqli.class.php
в c:\_majordomo\htdocs\lib\mysqli.class.php
Код: Выделить всё
if (!defined('MYSQL_BOTH')) {
define('MYSQL_BOTH',MYSQLI_BOTH);
define('MYSQL_NUM',MYSQLI_NUM);
define('MYSQL_ASSOC',MYSQLI_ASSOC);
}
win10 connect https://connect.smartliving.ru/profile/303
- adzam
- Сообщения: 602
- Зарегистрирован: Сб дек 08, 2012 10:28 pm
- Откуда: Кишинев
- Благодарил (а): 20 раз
- Поблагодарили: 138 раз
Re: Приложение Cron
А у меня в папке C:\_majordomo\htdocs\lib есть оба файла mysql.class.php и mysqli.class.php.
может должен быть только один?
может должен быть только один?
Мои проекты здесь...https://connect.smartliving.ru/profile/41/blog213.htm
Если вам помогло какое-либо мое сообщение - не ленитесь пользоваться кнопкой СПАСИБО.
Если вам помогло какое-либо мое сообщение - не ленитесь пользоваться кнопкой СПАСИБО.
- adzam
- Сообщения: 602
- Зарегистрирован: Сб дек 08, 2012 10:28 pm
- Откуда: Кишинев
- Благодарил (а): 20 раз
- Поблагодарили: 138 раз
Re: Приложение Cron
Попробовал поменял, но предупреждение по прежнему выходитxor писал(а): Попробуйте поменять MYSQL_ASSOC на MYSQLI_ASSOC, перегрузитесь, если варнинг уйдет, Сергею напишите.
Мои проекты здесь...https://connect.smartliving.ru/profile/41/blog213.htm
Если вам помогло какое-либо мое сообщение - не ленитесь пользоваться кнопкой СПАСИБО.
Если вам помогло какое-либо мое сообщение - не ленитесь пользоваться кнопкой СПАСИБО.
- xor
- Сообщения: 2041
- Зарегистрирован: Сб ноя 22, 2014 8:45 pm
- Благодарил (а): 286 раз
- Поблагодарили: 629 раз
Re: Приложение Cron
Результаты разбора:
Что сделал:
в файле mysqli.class.php наставил отладок вокруг 211 строки:
получил вот:
(квадратные скобки вокруг CODE заменил на {}, а то коряво форматируется сдесь)
Видим, что варнинг выскакивает после безобидного DELETE FROM jobs WHERE title='Cron_Собаки'
Но, выше видно, что это вызывается кодом
что подразумевает возврат одной записи.
Полез в базу, выполнил запрос SELECT * FROM methods WHERE ID='105'
и поменял в поле CODE SQLSelectOne на SQLExec("DELETE FROM jobs WHERE title=''".$name."''")
Варнинг убрался, но, естественно, только для этой задачи.
Надо, наверное, автору Крона сообщить
Что сделал:
в файле mysqli.class.php наставил отладок вокруг 211 строки:
Код: Выделить всё
public function SelectOne($query)
{ echo $query."<br>"; ////////////////////////////////////////////////////////////////////////
if ($result = $this->Exec($query))
{
$rec = mysqli_fetch_array($result, MYSQL_ASSOC);
print_r($rec); ///////////////////////////////////////////////////////////////////////////
echo "<br>"; ///////////////////////////////////////////////////////////////////////////
return $rec;
}
else
{
$this->Error($query);
}
}
(квадратные скобки вокруг CODE заменил на {}, а то коряво форматируется сдесь)
Код: Выделить всё
SELECT * FROM methods WHERE ID='105'
Array ( [ID] => 105 [OBJECT_ID] => 0 [CLASS_ID] => 35 [TITLE] => Update [DESCRIPTION] => Обновление задачи {code} => $name='Cron_'.$this->object_title; SQLSelectOne("DELETE FROM jobs WHERE title='".$name."'"); [CALL_PARENT] => 0 [SCRIPT_ID] => 0 [EXECUTED] => 2017-03-10 01:16:22 [EXECUTED_PARAMS] => a:5:{s:8:"PROPERTY";s:6:"Enable";s:9:"NEW_VALUE";s:1:"0";s:9:"OLD_VALUE";s:1:"0";s:6:"SOURCE";s:0:"";s:21:"ORIGINAL_OBJECT_TITLE";s:12:"Собаки";} )
DELETE FROM jobs WHERE title='Cron_Собаки'
Warning: mysqli_fetch_array() expects parameter 1 to be mysqli_result, boolean given in C:\_majordomo\htdocs\lib\mysqli.class.php on line 211
Но, выше видно, что это вызывается кодом
Код: Выделить всё
SQLSelectOne("DELETE FROM jobs WHERE title='".$name."'")
Полез в базу, выполнил запрос SELECT * FROM methods WHERE ID='105'
и поменял в поле CODE SQLSelectOne на SQLExec("DELETE FROM jobs WHERE title=''".$name."''")
Варнинг убрался, но, естественно, только для этой задачи.
Надо, наверное, автору Крона сообщить
win10 connect https://connect.smartliving.ru/profile/303
- Eraser
- Сообщения: 1085
- Зарегистрирован: Вт окт 21, 2014 7:31 pm
- Откуда: Киров
- Благодарил (а): 14 раз
- Поблагодарили: 869 раз
- Контактная информация:
Re: Приложение Cron
в модуле исправил
Connect ---- Telegram
ЮMoney для благодарностей за помощь: 410012076838296 или нажмите кнопку "Спасибо"!!!
ЮMoney для благодарностей за помощь: 410012076838296 или нажмите кнопку "Спасибо"!!!
- adzam
- Сообщения: 602
- Зарегистрирован: Сб дек 08, 2012 10:28 pm
- Откуда: Кишинев
- Благодарил (а): 20 раз
- Поблагодарили: 138 раз
Re: Приложение Cron
Обновился но ничего не поменялось.
Warning все равно появляются.
Warning все равно появляются.
Мои проекты здесь...https://connect.smartliving.ru/profile/41/blog213.htm
Если вам помогло какое-либо мое сообщение - не ленитесь пользоваться кнопкой СПАСИБО.
Если вам помогло какое-либо мое сообщение - не ленитесь пользоваться кнопкой СПАСИБО.
- Eraser
- Сообщения: 1085
- Зарегистрирован: Вт окт 21, 2014 7:31 pm
- Откуда: Киров
- Благодарил (а): 14 раз
- Поблагодарили: 869 раз
- Контактная информация:
Re: Приложение Cron
есть 2 вариантаadzam писал(а):Обновился но ничего не поменялось.
Warning все равно появляются.
-переустановить модуль
-исправить в объекте "Cron" метод "Update" = заменить SQLSelectOne на SQLExec
Connect ---- Telegram
ЮMoney для благодарностей за помощь: 410012076838296 или нажмите кнопку "Спасибо"!!!
ЮMoney для благодарностей за помощь: 410012076838296 или нажмите кнопку "Спасибо"!!!