Объясните новичку почему в цикле While Update срабатывает только один раз а не проходится по циклу

130
21 декабря 2019, 21:40
    $db->Query("SELECT * FROM db_video_users WHERE parts>'0' ORDER BY id DESC");
  $tim = time();
while($datas = $db->FetchArray()){
  $id = $datas["id"];
  $db->Query("UPDATE db_video_users SET time_earn = '$tim', parts = parts-'1' WHERE id = '$id'");
}
Answer 1
$db->Query("UPDATE db_video_users SET time_earn = UNIX_TIMESTAMP(), parts = parts-'1' WHERE parts>'0'")

Не занимайтесь, пожалуйста, анонизмом.

Answer 2

Проблема в классе, реализующем метод Query(). Есть даже специальный список граблей, на которые наступают начинающие писатели классов для работы с базой данных. Конкретно эти лежат под номером 8.

Учитывая, что в этом классе цветут и пахнут грабли под номером 1 - SQL инъекция, то от него надо избавляться немедленно.

Если класс писали вы сами, то его надо переписать. Я могу с этим помочь. Если взяли где-то по случаю, то надо от него отказаться, и взять что-то нормальное. Лучше всего - чистый PDO и научиться сначала работать с ним.

READ ALSO
Как разбить текст на куски, учитывая предложения?

Как разбить текст на куски, учитывая предложения?

Всем приветНеобходимо, используя PHP 5

131
Правильный запрос в MySQL через PHP

Правильный запрос в MySQL через PHP

Добрый деньВ данном запросе к базе данных, хочу реализовать поиск по ключу LIKE и поиску любого значения при помощи аргумента %

128
Перестали рассылаются пуши через ApnsPHP, кодировка

Перестали рассылаются пуши через ApnsPHP, кодировка

Всем привет, столкнулся с проблемой при отправке пушей средствами ApnsPHP

113