2017-04-04 89 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