2014-03-04 95 views
0

師我怎麼能消除這種錯誤錯誤:零笨

ERROR: division by zero 

我已經把if語句,但仍然沒有工作。有任何想法嗎?

在我的模型頁面

$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語句因爲有時候$行的值是0反正是有,我可以運行該代碼?

回答

0

您只檢查if條件之前是否存在記錄。此外,您需要檢查該值是否大於0.

因此,完整的代碼可以像這樣在沒有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);");} 
1

除數爲0時,會發生除零錯誤。您正在檢查錯誤的數字。

下半部分where id=2)爲零,您正在檢查上半部分(where id=1)。您也似乎只是檢查行的存在,而不是檢查是否爲0.

+0

對不起。代碼錯誤。請看看我的新變化。 – Kino

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;");} 
+0

當我添加$ && $ row2-> fetchColumn()!= 0 – Kino

+0

@Kino時,它是服務器錯誤,無法從那裏讀取該錯誤。 – sectus