当前位置: 首页 > 面试题库 >

mysql数据库插入将所有ID更改为4294967295

穆飞星
2023-03-14
问题内容

我的数据库确实发生了一些奇怪的事情。我正在使用PHP将数据插入数据库中,并且在过去的两年中我一直在这样做,没有任何问题。当客户在我的网站上付款时,我会将交易中的所有数据存储在数据库中。每个交易都有一个唯一的“
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 ;

问题答案:

您的人数大于数据库中可以处理的字段…

4294967295是32位可以容纳的最大数字,您的事务ID现在大于数据库可以容纳的数字字段。



 类似资料:
  • 问题内容: 我在Windows 7上,对这个数据库东西有些陌生。我尝试在Google上搜索如何将时区从我的系统更改为UTC,但是文档有些高级,因此我不太确定如何更改此字段。 问题答案: 在my.ini文件的[mysqld]部分下,添加以下行: 重新启动服务器。您还可以在运行时从命令行使用以下命令进行设置 MySql的文档

  • 问题内容: 我想在我的MySQL数据库中插入整数188和90,但以下代码不起作用: 为什么不起作用? 问题答案: 编辑 为我工作: 在MySQL表;

  • 问题内容: 通讯: 但是我想通过Ajax将我的电子邮件插入数据库。我不希望页面被重定向,因为每次刷新页面时,都会将空值插入数据库。 我只希望我的电子邮件通过Ajax插入数据库,然后再发送电子邮件,即 应该消失,并且应该有“您已成功订阅”行。 任何简短的代码将非常有用..预先感谢您:) 问题答案: 尝试这个: 和在 不要使用已弃用的。 实际上,如果您的问题是将空值插入数据库,则尝试此操作,这里不需要

  • 问题内容: 我有一个带一些默认值和url的bone.js模型: 然后,我有此模型的一个实例,然后继续保存它: 现在,我想使用PHP脚本“ save.php”将此模型保存到MySQL数据库中,如下所示: 我尝试阅读许多教程,但无法保存此简单模型。为什么我的代码不起作用?关于如何解决的任何想法? 谢谢 编辑:快速解决方案 在php脚本中,从发送的JSON对象获取信息的正确方法如下: 并存储在数据库中:

  • 问题内容: 我有以下要存储在数据库中的数组… 我试图搜索谷歌上如何做到这一点,我所能找到的是表明插入数组之前需要对数组进行拆分的信息。它是否正确?抱歉,天真,对于php来说还很陌生。 问题答案: 您不能直接将数组插入 mysql, 因为 mysql 无法 识别php 数据类型。 Mysql 只了解 SQL 。因此,要将数组插入mysql数据库,必须将其转换为sql语句。可以手动或通过库来完成。输出

  • 问题内容: 我使用Google Maps API制作了一个非常简单的页面,其中有几个字段,用户将在其中放置一些数据。看起来像- http://aiworker2.usask.ca/marker_field_db.html 我要做的是使用javascript / Ajax将数据存储到MySQL数据库中。我发现了几个使用Jquery的示例。我是这个javascript / Ajax / Jquery平