检查是否有ID正在使用,MySQL和PHP

检查是否有ID正在使用,MySQL和PHP,php,Php,基本上,我想用PHP创建一种检查ID是否在使用的检查器,我已经创建了一个工作系统,在数据库中插入一些信息。我现在想检查这个ID是否正在使用,因为如果我使用同一个ID继续创建新的查询,或者不管你怎么称呼它,它会插入它,并且这个ID不止一个,那么,有没有人能帮我解决这个问题? 表名为nameglows,数据库名为nova,行名为idlowercase。谢谢 以下是我的错误系统示例: // what shows up when there's an error function error($erro

基本上,我想用PHP创建一种检查ID是否在使用的检查器,我已经创建了一个工作系统,在数据库中插入一些信息。我现在想检查这个ID是否正在使用,因为如果我使用同一个ID继续创建新的查询,或者不管你怎么称呼它,它会插入它,并且这个ID不止一个,那么,有没有人能帮我解决这个问题? 表名为nameglows,数据库名为nova,行名为idlowercase。谢谢

以下是我的错误系统示例:

// what shows up when there's an error
function error($error){
$fullerror = "<br><h1> An Error Occurred</h1><p>".$error."</p></br><h3>Click <a href=/nameglows/>here</a> to go back.</h3>";
die($fullerror);
}
//this is to check if the id is 1 or lower
if(strlen($_POST['id']) <= 1){
error('Your ID is too short! ');
}
有更多的错误代码,但这只是1

当然,将上述查询用于预先准备好的语句

然后,根据您使用的mysql库,您可以执行以下操作:

if(count($result) > 0) {
    //id exists
}

虽然有一些方法可以在执行操作之前通过MySQL查询检查ID,但另一种处理方法是在创建MySQL表时构造数据库以使用唯一约束

例如,假设您希望确保没有人能够创建具有相同名字和姓氏的新用户,您将创建如下约束:

CONSTRAINT `unique_id_combo` UNIQUE (`id`, `first_name`, `last_name`)

例如,如果有人在您的系统上注册时使用与已有人相同的名字和姓氏,MySQL将拒绝插入尝试。

为什么不在数据库中的ID列上使用自动递增?这不是注册,这会在数据库中为游戏中的特定付费功能导入一些内容,我正在创建一个游戏…这只是暂时的,这不是公开发布的。当它发布时,它将不需要一列您必须输入您的ID,它将自己完成。现在,我急需这个。为什么不在mysql中使用count*?ifcount$result>0进行计数?您正在尝试计算mysqli/PDO结果集@小世界:你为什么这么认为?还有什么让你感到困惑?@zerkms我不知道为什么在这种情况下你不使用$result->num_行,而不是尝试计算结果集。@worldofjr:为什么你认为$result不是一个带有结果的普通数组,而是一个资源?
CONSTRAINT `unique_id_combo` UNIQUE (`id`, `first_name`, `last_name`)