2016-07-07 2 views
-1

У меня возникла проблема при делении двух значений, и он продолжает показывать «Предупреждение: Деление на ноль в ...».php - разделите два значения

Я прочитал и попробовал некоторое сообщение о делении значений здесь, но я не могу решить проблему.

это фрагмент кода:

.....

$query2 = "SELECT SUM(jumlah_poin) AS jumlah_mk FROM tbl_nilai WHERE nama_mk = 'Pengantar Teknologi Informasi' 
AND nip_dsn = '198'"; 
$result2 = mysql_query($query2); 
$row2 = mysql_fetch_assoc($result2); 

$querry4 = "SELECT count(1) FROM tbl_nilai WHERE nama_mk = 'Pengantar Teknologi Informasi' 
AND nip_dsn = '198'"; 
$result4 = mysql_query($querry4); 
$row4 = mysql_fetch_array($result4); 

$sum ['jumlah2']= $row2 ['jumlah_mk']/$row4 [0]; 

echo json_encode(array($resultArray,$sum)); 

и мне нужно сделать это в одном echo. Любые объяснения, которые вы можете предоставить новому, будут оценены. помочь и научить меня, пожалуйста: D

+0

'mysql_ *' функции больше не поддерживаются PHP. Попробуйте использовать mysqli_ * или PDO. Лучше использовать подготовленные заявления во время обучения, это может спасти вас от множества проблем позже. Также проверьте все, что вы читаете/получаете. [empty] (http://php.net/manual/en/function.empty.php) и [isset] (http://php.net/manual/en/function.isset.php) являются вашими друзьями. – bansi

ответ

0

Существует две причины, попробуйте один из этого:

  1. Изменить запрос на

    $querry4 = "SELECT count(1) as totalCount FROM tbl_nilai WHERE nama_mk ='Pengantar Teknologi Informasi' AND nip_dsn = '198'";

и

$sum ['jumlah2']= $row2 ['jumlah_mk']/$row4 ['totalCount']; 
  1. Ваш второй запрос возвращает count как 0, если запись не соответствует.
+0

она до сих пор показывают "ложь", так что я пытаюсь сделать это: '$ ДИВ = $ row2/$ row4;' '$ сумма [ 'jumlah2'] = $ ДИВ [ 'Nilai'];' и в результате получается «Неустранимая ошибка: неподдерживаемые типы операндов в ...» :( – Riezty

+0

, когда я делаю это '$ sum ['jumlah2'] = $ row2 ['jumlah_mk']' и '$ sum ['jumlah3'] = $ row4 ['totalCount']; ', он показывает« jumlah2 »:« 910 »и« jumlah3 »:« 8 », затем я пытаюсь сделать это' $ sum ['jumlah2'] = $ row2 ['jumlah_mk']/8; 'и результат« jumlah2 »: 113,75 (правильный ответ) – Riezty

0

Для предотвращения разделим на нулевой ошибкой я мог бы поставить его в если заявление

if($row4[0] != 0) { // any falsy value would evaluate to zero 
    $sum ['jumlah2']= $row2 ['jumlah_mk']/$row4 [0]; 
} else { 
    $sum = $sum_default_value; 
} 
Смежные вопросы