2017-01-14 98 views
0

沒有記錄這一段代碼刪除查詢受影響的行返回大於0或者存在DB

public static function delete_ques($ques_id) { 
     $con = Connection::get_Connection(); 
     $sql_delete = "DELETE FROM question WHERE ques_id = " . $ques_id; 
     $result_delete = $con->query($sql_delete); 
     if ($result_delete->rowCount()) { 
      $con->close(); 
      echo 'hell not '; 
      return true; 
     } else { 
      $con->close(); 
      echo 'hell yes'; 
      return false; 
     } 
    } 

我無法弄清楚,爲什麼它的發生

+0

你能否詳細說明您的查詢PLZ ...... – reza

+0

你可以做的是,如果你有相同的ques_Id記錄第一次檢查。如果存儲,然後刪除。如果它返回> 0,那麼你確定某些記錄被刪除。 –

+0

無論是否有記錄它總是返回1行受影響 –

回答

0

你所面對的問題是,因爲rowCount()。根據php.net

rowCount時()返回受最後DELETE,插入或更新由相應PDOStatement對象對象執行的語句的行數。

在你的情況我會使用affected_rows。所以,你的if-else代碼塊會是這樣

if ($con->affected_rows) { 
     $con->close(); 
     echo 'hell not '; 
     return true; 
} else { 
     $con->close(); 
     echo 'hell yes'; 
     return false; 
} 
+0

謝謝你,先生它在我的情況下工作....... @ reza –

相關問題