mysql
  • select
  • sum
  • 2014-02-04 7 views 0 likes 
    0

    Ладно, так что я нашел Mysqli формат:Продолжайте получать ошибку SELECT SUM Query

    $resultDN7 = $db->query("SELECT SUM(`donation_resources`) as `totalDN7` FROM ztn_com_donations WHERE donation_playerid='$player_id' AND donation_corpsid='$player_corpsid' "); 
    $rowDN7 = $resultDN7->fetch_assoc(); 
    echo $rowDN7['totalDN7']; 
    
    $pladon = ($rowDN7['totalDN7']); 
    

    Хорошо, если вы заметили, что последняя строка, я должен получить результат изменился в переменную. Я не мог найти документацию по этому вопросу, как показано ниже:

    if ($rowDN7) 
    { $pladon = $row[0]; } 
    

    Это правильно?

    +0

    Сообщение об ошибке довольно понятно, вам не кажется? Второй аргумент ['mysql_result'] (http://php.net/mysql_result) должен быть числом, но вы передаете ему строку * donation_resources * – Phil

    +0

    Я попробовал Sum (...) AS .... но это не удалось. – Aesirnaut

    +0

    Ну дерьмо. Устаревшее кодирование - небрежное кодирование. «ORDER BY ### DESC LIMIT 1» не обязательно должен быть там. Цель состоит в том, чтобы суммировать все строки, соответствующие критериям ... Извините. Я исправил свой запрос. – Aesirnaut

    ответ

    1

    mysql_result() ожидает параметр 2 будет int и вы даете ему string

    документация говорит

    Номер строки из результата, который, извлекаемых. Номера строк начинаются с 0.

    Поскольку в вашем случае DISTINCT SUM(donation_resources) он будет возвращать только 1 строку

    Это должно быть как

    echo mysql_result($resultDN7, 0); 
    

    Где $resultDN7 это ресурс и 0 является строка

    +0

    Я видел этот формат где-то zzlalani, и ему еще нужно было его попробовать; Спасибо. @ каждый - этот вопрос работал около 5 лет назад без каких-либо проблем. Есть ли проблема устаревания или, возможно, другая версия mysql? – Aesirnaut

    +0

    На всех языках программирования и в Базах данных PHP и MySQL являются наиболее непредсказуемым языком и инструментом. – zzlalani

    +0

    Лучшая практика - всегда искать документацию, когда ваши функции не работают – zzlalani

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