2010-05-20 84 views
4

我有這個大函數可以獲取大量不同的數據並將其插入到多個表中。並非所有數據都始終可用,因此並非所有的SQL INSERT查詢是成功的。我需要檢查哪個SQL INSERT查詢是完全成功的,哪些不是用這些數據做什麼(像插入日誌表或類似的東西)。MySQLi PHP:使用MySQLi檢查SQL INSERT查詢是否完全成功

只給你的如何,我認爲這是可以做到的例子:

$sql = 'INSERT INTO data_table (ID, column1, column2) VALUES(?, ?, ?)'; 

if ($stmt->prepare($sql)) { 
    $stmt->bind_param('iss', $varID, $var1, $var2); 

    if ($stmt->execute()) { 
     $success == TRUE; //or something like that 
    } 
} 

我不能完全肯定這是最好的辦法,如果它總是真的顯示,如果數據被插入到表... 有什麼建議?

回答

11

從PHP手冊上mysqli_stmt::execute

mysqli_stmt::execute - mysqli_stmt_execute - 執行一個 準備查詢

成功返回TRUE或FALSE的 失敗。


if ($stmt->execute()) { // exactly like this! 
    $success = true; 
} 

你這樣做是正確的...你叫什麼難題呢?

+0

錯誤,不應該讀取'$ success = TRUE;'因爲您不想測試是否相等,但是想爲$ success變量賦值。 – wimvds 2010-05-20 10:30:09

+0

@wimvds:哎呀!對,謝謝。 – 2010-05-20 10:46:03