Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/227.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 无论我做什么,相同的值都存储在MySQL表字段中_Php_Sql_Mysql - Fatal编程技术网

Php 无论我做什么,相同的值都存储在MySQL表字段中

Php 无论我做什么,相同的值都存储在MySQL表字段中,php,sql,mysql,Php,Sql,Mysql,我有一个MySQL表,带有字段('ad_id') 我用PHP将变量存储在不同的字段中 其中一个字段是上面提到的“ad_id”字段,它反复存储相同的确切nr,而不管PHP文件中的“真实”名称是什么 示例:$ad_id=12345 当尝试存储此信息时,会存储数字11111。始终,无论我将$ad_id变量更改为什么 我甚至回显了$ad_id变量,它实际上是12345,但MySQL存储的值是11111 代码: 使用MySQL表信息更新: CREATE TABLE `cars_db` ( `id` i

我有一个MySQL表,带有字段('ad_id')

我用PHP将变量存储在不同的字段中

其中一个字段是上面提到的“ad_id”字段,它反复存储相同的确切nr,而不管PHP文件中的“真实”名称是什么

示例:
$ad_id=12345
当尝试存储此信息时,会存储数字11111。始终,无论我将$ad_id变量更改为什么

我甚至回显了$ad_id变量,它实际上是12345,但MySQL存储的值是11111

代码:


使用MySQL表信息更新

CREATE TABLE `cars_db` (
 `id` int(7) NOT NULL AUTO_INCREMENT,
 `ad_id` int(13) NOT NULL,
 `area` varchar(40) COLLATE utf8_swedish_ci NOT NULL,
 `area_community` varchar(50) COLLATE utf8_swedish_ci NOT NULL,
 `price` int(9) NOT NULL,
 `year` int(4) NOT NULL,
 `mileage` int(6) NOT NULL,
 `gearbox` varchar(12) COLLATE utf8_swedish_ci NOT NULL,
 `fuel` varchar(12) COLLATE utf8_swedish_ci NOT NULL,
 `insert_date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
 `poster_name` varchar(40) COLLATE utf8_swedish_ci NOT NULL,
 `poster_email` varchar(50) COLLATE utf8_swedish_ci NOT NULL,
 `poster_tel` varchar(20) COLLATE utf8_swedish_ci NOT NULL,
 `poster_password` varchar(15) COLLATE utf8_swedish_ci NOT NULL,
 `private_or_company` int(2) NOT NULL,
 `headline` varchar(60) COLLATE utf8_swedish_ci NOT NULL,
 `description` text COLLATE utf8_swedish_ci NOT NULL,
 `salebuy` int(2) NOT NULL,
 `total_pics` int(2) NOT NULL,
 `changeable` int(1) NOT NULL,
 `hide_tel` int(1) NOT NULL,
 PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=134 DEFAULT CHARSET=utf8 COLLATE=utf8_swedish_ci

再次更新:

我试着设置$ad_id=012345678901(12位数字),但没有成功。同样的问题再次出现。但后来我试着设置$ad_id=555555,结果成功了,MySQL存储了这些信息。。。 我认为长度是个问题。 有最高限额吗? 是否有隐藏的小数我不知道。如果是的话,我怎样才能绕过它


更新字符串插入到: 一切看起来都很好。甚至$ad_id的值也可以,12位,但这不是MySQL中插入的值,因为这是不同的nr,只有10位

- AC
- STEREO
- VINTERDÄCK', 'Säljes', '0', '0', '0') 

卡姆兰:你的号码太大了 如果你看一下mysql文档,它会说:


您应该生成一个较小的随机数,如果需要随机数,您可以使用MySQL
RAND

卡姆兰你的号码太大了 如果你看一下mysql文档,它会说:


您应该生成一个较小的随机数,如果需要随机数,您可以使用MySQL
RAND

数字668244234626超出整数的范围。它被截断为整数的最大值,即2147483647

如果在MySQL客户端中运行INSERT语句,则会得到以下结果:

Query OK, 1 row affected, 1 warning (0.00 sec)
然后,如果显示警告:

mysql> show warnings;

+---------+------+------------------------------------------------+
| Level   | Code | Message                                        |
+---------+------+------------------------------------------------+
| Warning | 1264 | Out of range value for column 'ad_id' at row 1 |
+---------+------+------------------------------------------------+
我注意到您声明了
ad_id INT(13)
。请注意,参数13对可以存储在整数中的值的范围没有影响。MySQL整数数据类型始终存储32位数字,并且您给出的值大于232


如果需要存储较大的值,应使用
BIGINT

数字668244234626超出整数范围。它被截断为整数的最大值,即2147483647

如果在MySQL客户端中运行INSERT语句,则会得到以下结果:

Query OK, 1 row affected, 1 warning (0.00 sec)
然后,如果显示警告:

mysql> show warnings;

+---------+------+------------------------------------------------+
| Level   | Code | Message                                        |
+---------+------+------------------------------------------------+
| Warning | 1264 | Out of range value for column 'ad_id' at row 1 |
+---------+------+------------------------------------------------+
我注意到您声明了
ad_id INT(13)
。请注意,参数13对可以存储在整数中的值的范围没有影响。MySQL整数数据类型始终存储32位数字,并且您给出的值大于232


如果需要存储较大的值,应使用
BIGINT

发布插入/更新数据库的代码。我们无法不查看您的代码。您是否也可以在mysql查询工具中发布
descripe cars\u db
的输出发布此查询:
SHOW CREATE TABLE cars\u db
它将打印定义。我想知道您对
ad\u id
@camran:谢谢,最后一位缺失,您在哪里设置
$ad\u id
,而且您不需要引号,因为它是一个数字,即
值($ad_id,
对,在您的echo语句发出时,它可能被设置为12345,但如果这不是紧靠此之前的行(或者如果存在未被考虑的并发性)$ad_id的价值可能不同。也就是说,看起来您的数据模型需要一些工作。我知道这可能是一个肮脏的原型,您可能想敲开它的大门(并且您可能没有很多这类事情的经验),但您的表结构看起来太大了。到目前为止,我在该数据库中看到至少3个潜在表通过关系连接在一起。发布插入/更新数据库的代码。我们无法不查看您的代码。您是否也可以在mysql查询工具中发布
descripe cars\u db
的输出发布此查询:
SHOW创建表cars\u db
它将打印定义。我想知道您对
ad\u id
应用了什么样的约束@camran:谢谢,最后一位丢失了,您在哪里设置
$ad\u id
,而且您不需要引号,因为它是一个数字,即
值($ad_id,
对,在您的echo语句发出时,它可能被设置为12345,但如果这不是紧靠此之前的行(或者如果存在未被考虑的并发性)$ad_id的价值可能不同。也就是说,看起来您的数据模型需要一些工作。我知道这可能是一个肮脏的原型,您可能想敲开它的大门(并且您可能没有很多这类事情的经验),但您的表结构看起来太大了。到目前为止,我在该数据库中看到至少3个潜在表通过关系连接在一起。