Skip to main content

PHP Warning: Division by zero?!

PHP Warning: Division by zero?!


STEP 1:   

This warning can happen if a variable is not set then it is NULL and if you try to divide something by null you will get a divides by zero error. For example: 

This code will occur error: 

$get_likes = mysqli_query($conn1,"SELECT * FROM ratings WHERE videoid='$videoid' AND type='like'");
$num_of_likes = mysqli_num_rows($get_likes);

$get_dislikes = mysqli_query($conn1,"SELECT * FROM ratings WHERE videoid='$videoid' AND type='dislike'");
$num_of_dislikes = mysqli_num_rows($get_dislikes);

$total_num = $num_of_likes + $num_of_dislikes;

$width_of_one = $total_width / $total_num;


Now in this code, I've pointed out (red mark) the like for this line it will show division by zero error as it is trying to divide something by null. So, to remove this error what we can do is, we can simply put a @ sign before $num_of_likes + $num_of_dislikes.

Example: 
 $total_num = @($num_of_likes + $num_of_dislikes);


This one is simple right?! it will remove null and of course it will remove this error. 


STEP 2:
 Another way is, 
create an if statement before this:
$total_num = $num_of_likes + $num_of_dislikes;


Example:

$total_num_db = $num_of_likes + $num_of_dislikes;

if($total_num_db == 0){
 echo '  ';
} else{
        $total_num = $num_of_likes + $num_of_dislikes;
}




Here, $total_num_db means if the video has no likes or dislikes we will echo nothing/ do nothing or else run the code perfectly.

Comments

Popular posts from this blog

SQL: sneak peek

show databases; use mysql; show tables; select * from component; describe component; create database sql_intro; show databases; use sql_intro; create table emp_details (Name varchar(25), Age int, gender char(1), doj date, city varchar(15), salary float); describe emp_details; insert into emp_details  values("Jimmy",35,"M","2005-05-30","Chicago",70000), ("Shane",30,"M","1999-06-25","Seattle",55000), ("Marry",28,"F","2009-03-10","Boston",62000), ("Dwayne",37,"M", "2011-07-12","Austin", 57000), ("Sara",32,"F","2017-10-27","New York",72000), ("Ammy",35,"F","2014-12-20","Seattle",80000); select * from emp_details; select distinct city from emp_details; select count(name) as count_name from emp_details; select avg(salary) from emp_details; select name, age...

SQLSTATE[42S01]: Base table or view already exists: 1050 Table 'users' already exists

While migration to db you often face/might face this error which says the table name that you wrote is already exists in the database. so in that case one of the solutions that you can try is wrapping up your create schema with this: if(!Schema::hasTable('users')){ } Example: if (! Schema :: hasTable ( 'users' )){              Schema :: create ( 'users' ,  function  ( Blueprint   $table ) {                  $table -> bigIncrements ( 'id' );                  $table -> bigInteger ( 'role_id' )-> unsigned ()-> nullable ();                  $table -> foreign ( ' role_id ' )-> references ( 'id' )-> on ( 'roles' ) ...