2013-11-02 34 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()。