我怎样才能消除此错误
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.无论如何我可以运行这段代码吗?
答案 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 );");}