将查询插入数据库表以防止自动增量跳过数字

时间:2017-12-04 07:04:39

标签: php mysql database

如果用户注册失败,ID(设置为AUTO INCREMENT)会跳过一个数字。为了防止这种情况,我想出了下面的代码。而是在表winningSegment下的tb_prizewon插入“注册错误”一词,它只会在die()函数中打印消息

if (!$success) {
    $query2   = "INSERT into tb_prizewon (winningSegment) VALUES('Registration error')";
    die("Number already registered! Please try again.");
}

winsSegment应该是用户在成功注册其信息后转动prize后赢得的wheel of fortunetb_prizewon表还有一个ID

的AUTO_INCREMENT字段

2 个答案:

答案 0 :(得分:0)

您没有执行已格式化的查询。

另外,请确保tb_prizewon表具有ID的AUTO_INCREMENT字段,如果将带有backstick的fieldname winnerSegment包含为“winningSegment”

,则可能会更好。

答案 1 :(得分:0)

除非您在查询中定义其他字段,否则必须为表中的其他字段设置默认值。例如,如果您在 tb_prizewon 中有4个字段,那么您必须拥有这样的内容

$query2   = "INSERT into tb_prizewon (winningSegment,name,username,password) VALUES('Registration error','1\','','')";