我的數據庫正在發生一些非常奇怪的事情。我正在使用PHP將數據插入到我的數據庫中,並且在過去的2年中我一直這樣做沒有任何問題。當客戶在我的網站上進行付款時,我將來自該交易的所有數據存儲在我的數據庫中。每個事務都有一個唯一的「transaction_id」。當我將支付信息插入數據庫時,除了「transaction_id」之外,所有信息都被正確插入。所有交易都被賦予「4294967295」的「transaction_id」。所以我做了一些測試。這是我做的:mysql數據庫插入正在改變所有ID到4294967295
1)我回應了「transaction_id」到我的屏幕看看會說什麼。結果是正在被回顯的「transaction_id」是正確的。這不是重複的「4294967295」。但是,當我查看我的數據庫時,它顯示「4294967295」。
2)這次我決定將查詢回顯給我的網頁瀏覽器。該查詢是正確的。在查詢中,CORRECT「transaction_id」在查詢中。但是,當我查看我的數據庫時,它顯示「4294967295」。
我有3個不同的頁面,客戶可以付款。所有3頁在2012年4月6日開始這樣做。沒有任何頁面被修改過。我在兩年內沒有修改過這些頁面。任何幫助是極大的讚賞!
$query = "INSERT INTO payments (customer_id, transaction_id, invoice_number, authorization_code, subscription, subscription_id, avs_result, cvv_result, amount, full_tuition, payment_date, ip_address) VALUES ({$_SESSION['customer_id']}, {$_SESSION['transaction_id']}, {$_SESSION['invoice_number']}, '{$_SESSION['authorization_code']}', '{$_SESSION['subscription']}', {$_SESSION['subscription_id']}, '{$_SESSION['avs_result']}', '{$_SESSION['cvv_result']}', {$_SESSION['amount']}, {$_SESSION['full_tuition']}, '{$_SESSION['payment_date']}', '{$_SESSION['ip_address']}')" ;
$result = mysqli_query($dbc, $query) OR die ('<p>There was an error with the INSERT payments query.: ' . mysqli_error($dbc) . '<br />Query:' . $query . '</p>') ;
echo '<p>Transaction ' . $_SESSION['transaction_id'] . ' has been <font color="green">APPROVED</font> by the system.</p>' ;
echo '<br /><br />' ;
echo '<p>Below is a summary:</p>' ;
echo '<p>Transaction ID: ' . $_SESSION['transaction_id'] . '<br />
Payment Method: XXXX<br />
Amount: $' . $amount . '<br />
Customer Name: ' . $_SESSION['first_name'] . ' ' . $_SESSION['last_name'] . '<br />
</p>' ;
echo "<p>Note: Please do NOT click the browser's Back button to enter a new transaction.</p>" ;
echo $query ;
只是爲了弄清楚功能我建議你腳本數據庫沒有任何數據,觸發器......用該腳本創建一個新的數據庫連接你的網站到新的數據庫只是爲了看如果它是某種黑客。 Cos乍一看它看起來像一個黑客。確保數據庫中沒有任何觸發器或類似信息。 – Jester 2012-04-11 17:53:49
對於所有帶有撇號的內容的愛,花30分鐘閱讀[PHP PDO教程](http://net.tutsplus.com/tutorials/php/why-you-should-be-using-phps- PDO換數據庫訪問/)。將任意數據丟入SQL查詢是魯莽的。 – tadman 2012-04-11 18:00:30
現在你真正的問題是找到並修復不良交易。如果您有相關的表格,您可能需要直接與客戶聯繫,以瞭解哪些付款適用於哪些內容。 – HLGEM 2012-04-11 18:10:15