私のデータベースで何か本当に奇妙なことが起こっています。私はPHPを使用してデータベースにデータを挿入していますが、過去2年間、問題なくこれを行っています。顧客が私のウェブサイトで支払いをするとき、私はそのトランザクションからのすべてのデータを私のデータベースに保存します。各トランザクションには、一意の「transaction_id」があります。支払い情報をデータベースに挿入すると、「transaction_id」を除くすべての情報が正しく挿入されます。すべてのトランザクションには、「4294967295」の「transaction_id」が与えられます。それで私はいくつかのテストをしました。これが私がしたことです:
1)「transaction_id」を画面にエコーアウトして、何が表示されるかを確認しました。その結果、エコーアウトされていた「transaction_id」は正しいものでした。繰り返しの「4294967295」ではありませんでした。ただし、データベースを見ると、「4294967295」と表示されます。
2)今回は、クエリをWebブラウザにエコーアウトすることにしました。クエリは正しかった。クエリでは、正しい「transaction_id」がクエリに含まれていました。ただし、データベースを見ると、「4294967295」と表示されます。
顧客が支払いを行うことができる3つの異なるページがあります。3ページすべてが2012年4月6日にこれを開始しました。これらのページは、まったく変更されていません。私は2年以上それらのページを変更していません。どんな助けでも大歓迎です!
$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 ;