错误:除以Codeigniter

时间:2014-03-04 03:18:40

标签: php codeigniter

我怎样才能消除此错误

ERROR: division by zero

我已经将如果声明但仍然无法正常工作。有什么想法吗?

在我的模型页面

$row = $this->db->query("SELECT column1 from table where id=1");

   if ($row->num_rows() >0){

           $this->db->query("UPDATE table2 SET tech_voc=
           (select column1 from table where id=2 )/
           (select column1 from table where id=1 )
       WHERE id=2;");}

我把 if语句,因为有时$ row的值是0.无论如何我可以运行这段代码吗?

3 个答案:

答案 0 :(得分:1)

除数为0时,会发生除零错误。您正在检查错误的数字。

下半部分where id=2)为零,您正在检查上半部分(where id=1)。您也只是检查是否存在该行,而不是检查是否为0。

答案 1 :(得分:0)

这是mysql错误。

你应该检查column1的值(似乎它的值为0)。

$row = $this->db->query("SELECT column1 from table where id=1");
$row2 = $this->db->query("SELECT column1 from table where id=2");

   if ($row->num_rows() >0 && $row2->fetchColumn()!=0){

           $this->db->query("UPDATE table2 SET tech_voc=
           (select column1 from table where id=1 )/
           (select column1 from table where id=2 )
       WHERE id=2;");}

答案 2 :(得分:0)

您只检查if条件之前是否存在记录。您还需要检查该值是否大于0.

因此,完整的代码可以像这样编写而不需要PHP中的if条件。

       $this->db->query("UPDATE table2 SET tech_voc=
       (select column1 from table where id=2 )/
       (select column1 from table where id=1 )
   WHERE id=2 AND exists (SELECT column1 from table where id=1 and column1 >0 );");}