gpt4 book ai didi

php - 简单的 PHP SQLite 问题

转载 作者:行者123 更新时间:2023-12-02 07:31:00 26 4
gpt4 key购买 nike

我正在尝试实现一个函数,如果同名字段(与给定的字段相同)不存在,该函数将在数据库中插入一个新条目。特别是我想限制表中重复的用户名。

我能想到的唯一方法是运行选择查询,然后如果没有返回任何内容,则运行插入查询。由于某种原因,虽然我无法让它工作......

<小时/>

我的数据库选择功能

function getAllUsers($user)
{
$stmt = $this->db->stmt_init();
$stmt->prepare('SELECT username from users where username=? ');
$stmt->bind_param("s", $user);
$stmt->bind_result($username);
$stmt->execute();
$results = array();
while($stmt->fetch())
{
$results[] = array('username' => $username);
}
$stmt->close();
return $results;
}
<小时/>

我的 php 代码(这是在不同的页面中)

foreach ($GLOBALS['db']->getAllUsers($_POST['username']) as $i)
{
$results = "".$i['username']."";
break;
}
if(strcmp($results, "")==0)
{
if($GLOBALS['db']->addUser($_POST['username'],$_POST['password']))
{
session_destroy();
echo "registerSucces";
}
else
{
session_destroy();
echo "registerError";
}
}
else
{
echo "userNameExists";
}

你能看出这有什么问题吗???

谢谢

迈克

<小时/>

仍然无法找到如何使上述代码工作,但以防万一有人需要这个:一个临时的简单解决方案是根本不比较字符串,而是在 foreach 循环中设置一个计数器,然后检查所需的数字( 0 在我的例子中)...

最佳答案

SQLite 支持唯一 constraint 。只需在列上声明一个 UNIQUE 索引并检查 INSERT 是否失败。

关于php - 简单的 PHP SQLite 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5072476/

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