PHP+SQLi-自动递增ID

PHP+SQLi-自动递增ID,php,mysql,auto-increment,Php,Mysql,Auto Increment,我遇到了一个问题,在我的PHP中,出于某种原因,我必须定义ID或获取die消息,即使表结构设置为自动递增,我的PHP如下: $query = mysqli_query($link, "INSERT INTO users (username, email, passhash, reg_ip, reg_date, salt)VALUES('$username','$email','$pass1','$ip_address',now(),'$salt')") or die("Could not cre

我遇到了一个问题,在我的PHP中,出于某种原因,我必须定义ID或获取die消息,即使表结构设置为自动递增,我的PHP如下:

$query = mysqli_query($link, "INSERT INTO users (username, email, passhash, reg_ip, reg_date, salt)VALUES('$username','$email','$pass1','$ip_address',now(),'$salt')") or die("Could not create your account, please try again later.");
ID当前不在该代码中,如果我执行以下操作,它将不起作用:

$id = 1;
然后将它添加到insert中,它就工作了,出于某种原因,我也不能将它设置为NULL


结构:bigint,unsigned,auto increment,primary key。

如果您这样修改查询:

INSERT INTO users (id ,username, email, passhash, reg_ip, reg_date, salt)
VALUES            (null,'$username','$email','$pass1','$ip_address',now(),'$salt') 

试着这样做,它会自动增加id

当您达到极限时,将自动增量值重置回1

ALTER TABLE users AUTO_INCREMENT = 1 ;

您在创建表时是否将id定义为自动增量?生成了什么mysql错误?使用mysqli_errno和mysqli_error获取错误。是的,在phpmyadmin上勾选了A_I。我将mysqli_error放在代码中的什么位置?只是在insert下面进行了尝试,但它没有读取任何错误。您可以替换或使用它终止。您还可以从查询中完全删除id和null,因为“value”除了id设置为null之外,不是完全相同吗?我已经试过空了,就像我上面说的,仍然收到死亡信息。如果ID是一个自动递增列,那么如果您将它作为null插入,或者如果您根本没有提及它,那么应该不会有任何错误。如果上面的示例不起作用,请检查您的表结构。id bigint4 UNSIGNED NOT NULL AUTO_INCREMENT如果您有以下内容:CREATE table new_table id bigint4 UNSIGNED NOT NULL AUTO_INCREMENT,主键id您可以使用以下命令插入值:插入到新的\u表值-无需任何字段或值声明,或者您可以使用:插入到新的\u表id值null或您可以使用插入到新的\u表值null-它们都可以工作。好的,正如其他人所建议的,您没有在数据库表上设置自动增量值。如果您能够运行此查询,请提供输出。从INFORMATION_SCHEMA.tables中选择*,其中table_name='users';对于自动增量,它返回:18446744073709551615这就是问题所在,您已达到最大自动增量值,请尝试将其重置回1。。。mysql会将其设置为最低值。