2017-04-04 90 views
0

我是PHP OOP編程的新手,當我嘗試使用PHP更新我的數據庫時,它引發了此異常,並且查詢也完美運行並且數據庫也在更新。但仍然是拋出我這個錯誤數據庫更新但仍然拋出異常

異常在/var/www/html/thaalinda/includes/querys.inc.php:8堆棧跟蹤:#0的/ var/www/html等/ thaalinda /包括/測試.PHP(12):adminQuery-> insertquery(對象(mysqli的), 'INSERT INTO FF(...')#1 {}主要

這是我的數據庫連接代碼:

<?php 
class admindatabase{ 

    protected $host = "localhost"; 
    protected $database = "testmy"; 
    protected $user = "lkd"; 
    protected $pwd = ""; 
    public $connection; 

public function connect(){ 
    $connection = new mysqli($this->host , $this->user , $this->pwd , $this->database); 
    if(mysqli_connect_errno()){ 
     printf("Connect error:%S\n",mysqli_connect_errno()); 
     exit(); 
    } 
    else{ 
     return $connection; 
    } 
} 

public function disconnect(ab $connection){ 
    $connection->close(); 
    } 
} 
?> 

這是我的查詢分類

<?Php 
class adminQuery{ 

    public function insertquery($con , $query){ 
     try { 
      $con->query($query); 

     throw new Exception($con->error); 

     } catch (Exception $e) { 
     echo $e; 
     } 
    } 
} 


?> 

這是我測試的PHP

<?Php 
require "./admindatabase.inc.php"; 
require "./querys.inc.php"; 


$myob = new admindatabase(); 

$connection = $myob->connect(); 

$query = new adminQuery(); 

$query->insertquery($connection,'INSERT INTO ff(ok) VALUES("Thaalinda BAndara")'); 
?> 
+2

我想你總是會得到一個打印出來的異常信息,因爲你手動拋出一個異常並拋出新異常($ conn-> error) – Andreas

+0

Thak you for help your correct。我必須將該手動異常置於其他條件 –

回答

0
<?Php 
class adminQuery{ 

    public function insertquery($con , $query){ 
     try { 
      $con->query($query); 

      throw new Exception($con->error); // Here you're throwing the exception manually 

     } catch (Exception $e) { 
     echo $e; 
     } 
    } 
} 

把它當$ CON組 - >錯誤的條件。

+0

非常感謝您的回覆。那麼我應該如何驗證查詢是否正確運行? '如果($ con> query($ query)){//} else {throw new Exception($ con> error);}'這是什麼意思? –

+0

非常感謝你的工作 –

+0

是的,這就是我所說的。 – TheTom