2013-11-02 36 views
1

是否有任何方法在每个mysqli_query函数执行后调用代码片段? 在MySQL中有插入触发器之前和之后。我正在寻找类似于PHP的东西。更新一个PHP函数

在下面的例子中,我需要自动记录每一个查询后,所有的警告(即不改变当前的代码)

<?php 
    $con = mysqli_connect('localhost', '', '', ''); 
    if (mysqli_connect_errno()) { 
    print 'Failed to connect to MySQL: ' . mysqli_connect_error() . "\n"; 
    exit(1); 
    } 

    if (!mysqli_query($con, 'INSERT INTO dp4 (customer_id, first_name, last_name) ' . 
          'VALUES (NULL,"Chris","abc") ')) { 
    print 'Failed to insert data: ' . mysqli_error($con) . "\n"; 
    } 
    if (($warnings = mysqli_warning_count($con)) > 0) { 
    if ($rs = mysqli_query($con, "SHOW WARNINGS")) { 
     $row = mysqli_fetch_row($rs); 
     printf("%s (%d): %s\n", $row[0], $row[1], $row[2]); 
     mysqli_free_result($rs); 
    } 
    } 
    mysqli_close($con); 
?> 

换句话说,代码后,如果(($警告应以某种方式运行它自己并记录警告最好是一个文本文件

+2

创建一个数据库类并封装查询功能。 – ComFreek

回答

5

不是没有改变代码你应该创建你自己的查询函数,执行查询,记录它所需要的,返回结果并使用,而不是mysqli_query()。