gpt4 book ai didi

php如果用户名存在于数据库中将用户名加一

转载 作者:太空宇宙 更新时间:2023-11-03 12:32:01 24 4
gpt4 key购买 nike

我的代码有点卡住了。

我正在练习并希望实现以下目标。

在用户注册之前,我想检查用户的用户名是否存在,如果存在则将名称加一。

所以我的逻辑是这样的。用户给出他/她的名字和姓氏,并据此生成用户名。

函数

function unique_name($first_name, $last_name) {

$username = strtolower($first_name.'.'.$last_name)

$check = mysqL_query(" SELECT username WHERE username = '".$username."' ");

if(count($check == 1)) {
$i = 2;
foreach($check as $user) {
return $user['username'].$i;
$i++;
}
} else {
return $username;
}
}

$username = unique_name($_POST['first_name'], $_POST['last_name']);
// saveing the increased username

所以实际上脚本应该检查生成的唯一用户名是否存在,如果 exsits 增加,即使它以数字存在,也增加它

示例

Tom Anderson 注册,用户名为 tom.anderson,另存为 tom anderson

第二个 Tom Anderson 注册,用户名将是 tom.anderson,它已经存在,将新的保存为 tom.anderson2。

第三个用户注册他也是tom anderson,用户名tom.anderson*存在两次,增加到tom.anderson3。

所以我在检查用户是否存在并保存它时没有问题,我的问题是,如果存在,如何增加每个用户名?

我不是要任何人为我写这篇文章,我只是在寻找提示

谢谢

编辑

感谢您的回复,但这不起作用

if(count($check) == 1) {
$i = 2;
foreach($check as $user) {
return $user['username'].count($check);
$i++;
}
} else {
return $username;
}

这只检查没有数字的用户名,所以如果用户名 tom.anderson 存在它增加到 tom.anderson1 但如果 tom.anderson1 也存在它不会增加到 tom.anderson2

最佳答案

你能不能有一些东西只附加返回行的 count,除非它是 0?

if(count($check) > 0) {
return $user['username'].count($check);
} else {
return $username;
}

改变SQL:

" SELECT username WHERE username LIKE '".$username."%' " 

关于php如果用户名存在于数据库中将用户名加一,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14959508/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com