php
  • mysql
  • sql-update
  • 2015-12-04 3 views 1 likes 
    1

    Я создал фоновый рабочий сценарий, который обновляет мою таблицу базы данных при условии.фоновый рабочий сценарий обновления не работает

    Вот мой главный сценарий:

    <?php 
    require_once('conn.php'); 
    
    $query = "SELECT * FROM user WHERE id = '" . $_COOKIE['username'] . "'"; 
    $data = mysqli_query($dbc, $query); 
    $row = mysqli_fetch_array($data); 
    
    if($row['ehp'] > $row['required_ehp']) { 
        // The 'ehp' column is greater than 'required_php' 
        $calc = $row['ehp'] % $row['required_ehp']; 
        $new = $row['required_ehp'] * 12; 
        $new_lvl = $row['level'] + 1; 
    
        $query2 = "UPDATE user set level = '$new_lvl', ehp = '$calc', required_ehp = '$new'"; 
        mysqli_query($dbc, $query2); 
        echo 'query successful'; 
    
    } else { 
        echo 'query unsuccessful' . mysql_error(); 
    } 
    echo $row['ehp'] % $row['required_ehp']; 
    echo $row['required_ehp']; 
    
    ?> 
    

    Сообщение об ошибке я получаю от этого сценария:

    запрос безуспешными
    Предупреждение: Деление на ноль в H: \ AppServ \ www \ sp \ userlevel.php в строке 21

    Я не знаю, что случилось. Пожалуйста, помогите мне.

    Адрес the database column's image.

    +0

    Плохая идея # 1> WHERE id = '". $ _COOKIE [' username ']."' Уверены, что sql имеет правильный синтаксис? – Svetoslav

    +0

    Что вы собираетесь обновлять? Где не хватает? Какую запись вы собираетесь обновить? – RFLdev

    +1

    Является ли этот сайт живым? О, пожалуйста! Сообщите нам URL для входа! – Flosculus

    ответ

    0

    Хорошо, что я узнал, что это была ошибка в id в моей базе данных, я искал колонку username. Извините, что беспокою вас всех.

    0

    Поскольку вы видите query unsuccessful, это означает, что линия if($row['ehp'] > $row['required_ehp']) равна false.

    В строке echo 'query unsuccessful' . mysql_error(); ошибки mysql отсутствуют, поэтому вы видите только строку query unsuccessful.

    Также вы получаете предупреждение с предупреждением 0. Это вызвано линией echo $row['ehp'] % $row['required_ehp'];. Кажется $row['required_ehp'] is 0.

    Подводя итог, возможно, данные, которые вы ожидаете быть в $row, не то, что вы ожидаете. Возможно, данные cookie неверны?

    Кроме того, помещение данных cookie прямо в запрос является ужасной идеей и легко взломать.

    Смежные вопросы