PHP 和 MySQL - 检查用户名是否已被占用

2024-01-12

现在的问题是,代码无法检查用户名是否已被占用,是否有任何代码可以检查用户名是否已在数据库中被占用?

我正在尝试我的一些代码,然后可能也在 Stack Overflow 中搜索了有关此问题的信息。我试过这个solution https://stackoverflow.com/a/32277440/6656936但显然它给了我错误。当我尝试时,警告:

mysql_query() 期望参数 2 是资源,对象在 C:……在线……

和问题

mysql_num_rows() 期望参数 1 为资源,在中给出的为 null C:……在线……

我实际上正在寻找这个问题的解决方案或如何解决这个问题的教程。

My code:

<?php
    require_once("functions.php");
    require_once("db-const.php");
    session_start();
    if (logged_in() == true) {
        redirect_to("profile.php");
    }
?>
<?php
 ?>
<html>
<head>
    <title>Prospekt Member Area</title>
</head>
<body>
<h1> Register Here </h1>
<h2>&copy; Kirk Niverba</h2>
<hr />
<!-- The HTML registration form -->
<form action="<?=$_SERVER['PHP_SELF']?>" method="post">
    Username: <input type="text" name="username" /><br />
    Password: <input type="password" name="password" /><br />
    First name: <input type="text" name="first_name" /><br />
    Last name: <input type="text" name="last_name" /><br />
    Email: <input type="type" name="email" /><br />

    <input type="submit" name="submit" value="Register" />
    <a href="login.php">Already have an account?</a>
</form>
<?php
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
    if (empty($_POST['username']) || empty($_POST['password']) || empty($_POST['first_name']) || empty($_POST['last_name']) || empty($_POST['email'])) {
        echo "Please fill all the fields!";
    }
elseif (isset($_POST['submit'])) {
## connect mysql server
    $mysqli = new mysqli(localhost, root, "", loginsecure);
    # check connection
    if ($mysqli->connect_errno) {
        echo "<p>MySQL error no {$mysqli->connect_errno} : {$mysqli->connect_error}</p>";
        exit();
    }
## query database
    # prepare data for insertion
    $username   = $_POST['username'];
    $mainpass = $_POST['password'];
    $password   = hash('sha256', $mainpass);
    $first_name = $_POST['first_name'];
    $last_name  = $_POST['last_name'];
    $email      = $_POST['email'];

    # check if username and email exist else insert
    // u = username, e = emai, ue = both username and email already exists
    $user = $_POST['username'];
  $usernamecheck=mysql_query("SELECT username FROM users WHERE username='$user'", $mysqli);
        if (mysql_num_rows($usernamecheck)>=1){
    echo $user." is already taken";
 }
    else{
        # insert data into mysql database
        $sql = "INSERT  INTO `users` (`id`, `username`, `password`, `first_name`, `last_name`, `email`)
                VALUES (NULL, '{$username}', '{$password}', '{$first_name}', '{$last_name}', '{$email}')";

        if ($mysqli->query($sql)) {
            header("Location: checklogin.php?msg=Registered Successfully!");
        } else {
            echo "<p>MySQL error no {$mysqli->errno} : {$mysqli->error}</p>";
            exit();
        }
    }
}
}
?>
<hr />
</body>
</html>

在出现错误的行中,将“mysql_query”替换为“mysqli_query”,将“mysql_num_rows”替换为“mysqli_num_rows”。这是因为您不能将 mysql 调用与 mysli 连接混合在一起。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

PHP 和 MySQL - 检查用户名是否已被占用 的相关文章

随机推荐

  • 有没有一个好的 PHP 向量和矩阵库? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我需要一个用于向量和矩阵的 PHP 库 我正在寻找的库应该包括矩阵乘法 向量余弦相似度 卷积等函数 我
  • 构建适用于 Windows 8(而非 Windows Phone 8)的 Sencha Touch 应用程序 Microsoft Surface

    我想构建一个由 Sencha CMD 生成的简单 Sencha Touch 2 3 1 应用程序来运行它 Windows 8 1 微软 Surface 模拟器 1 我打开 Visual Studio 2013 并创建一个新的 JavaScr
  • 如何从包含特定变量 MAPLE 的符号表达式中获取部分表达式?

    我有一个符号表达式如下 y1 1 a b a 2 x a b x b y2 a b a x b sqrt x 现在我需要获取具有特定术语的部分表达式 喜欢 xFunction y1 x should return x a b x b xFu
  • 导入模块时抑制 scapy 警告消息

    我正在编写一个小脚本 它使用 scapy 收集一些信息 然后返回一些 xml 代码 我将其传递到 metasploit 的 xmlrpc 接口 我希望我的脚本只返回 xml 并且没有其他警告等 我可以通过添加选项来抑制大多数 scapy 输
  • 如何在 Backbone.js 中设计控制器?

    我感兴趣的是有一个控制器来协调渲染 事件处理 URL 路由器导航和网络访问 有点类似于 Spine 中控制器的作用 http spinejs com docs controllers http spinejs com docs contro
  • 避免 kubernetes 调度程序在 kubernetes 集群的单个节点上运行所有 pod

    我有一个 Kubernetes 集群 有 4 个节点和 1 个主节点 我正在尝试在所有节点中运行 5 个 nginx pod 目前 调度程序有时在一台机器上运行所有 Pod 有时在不同的机器上运行 如果我的节点出现故障并且所有 Pod 都在
  • TensorFlow v2:替换 tf.contrib.predictor.from_saved_model

    到目前为止 我正在使用tf contrib predictor from saved model加载一个SavedModel tf estimator模型类 然而 不幸的是这个函数在 TensorFlow v2 中被删除了 到目前为止 在
  • 如何让QWebKit显示图像?

    好的 我在与文件相同的目录中有一个 Qt 可执行文件logo png 我这样称呼 QString msg img src logo png webView gt setHtml msg where webview is the QWebKi
  • Flask中文件上传错误

    app route registerdriver methods POST def register driver fname request form fname lname request form lname email reques
  • 在 Javascript 中解析 Python 日期时间字符串

    我需要将 Python 生成的日期时间字符串解析为 Javascript Date 对象 我走了最简单的路线 在Python中 dstring str mydate 示例 dstring 2012 05 16 19 20 35 243710
  • 如何在mysql中获取日期的一周的第一天?

    假设我有 2011 01 03 我想获取一周的第一天 即星期日 即 2011 01 02 我该如何做呢 原因是我有这个查询 select YEAR date entered as year date date entered as week
  • 支持 JSONP 的 ASP.NET 通用 HTTP 处理程序 (.ashx)

    有人可以展示一个返回 JSON 并支持跨域调用的 HTTP 处理程序的示例吗 我正在使用 jQuery 的 getJSON 向我的 Web 服务器上的 ashx 文件发送请求 我知道我需要添加 callback 到 getJSON url
  • 如何在 Matlab 绘图中的 for 循环的每一代上创建电影

    我想将球体函数绘制为曲面或等值线图 并通过与它叠加的高斯分布生成的数据的球体函数来评估最佳个体的位置和适应度值 每一代的情节都会改变 所以我得到了一部电影 另外 在另一幅图中 我想绘制与高斯分布生成的整个种群叠加的球体函数的轮廓 其中保留的
  • C# - 在运行时加载 xaml 文件

    我有一个用 C 编写的 WPF 应用程序 我有一个MainWindow继承自 a 的类System Windows Window class 接下来 我的磁盘上有一个 xaml 文件 我想在运行时加载它
  • 仅增强 K 折交叉验证中的训练集

    我正在尝试为不平衡数据集 类 0 4000 个图像 类 1 大约 250 个图像 创建一个二元 CNN 分类器 我想对其执行 5 倍交叉验证 目前 我正在将训练集加载到 ImageLoader 中 该 ImageLoader 应用我的转换
  • DbSet.Create 与 new Entity() 的区别

    我对是否使用 DbSet Create 还是简单地新建一个实体并添加它有点困惑 我真的不明白使用 DbSet Create 的后果 我知道 DbSet Create 将创建一个代理版本 如果适用 但我不太明白这意味着什么 我为什么关心 在我
  • 自定义 Django allauth 的社交帐户注册表单:添加密码字段

    我正在尝试修改用户从社交帐户提供商登录时显示的注册表单 这是我的自定义注册表单代码 from allauth socialaccount forms import SignupForm from allauth account forms
  • 不平凡的 Prolog 查找和替换

    因此 我们可以通过执行以下操作轻松地在 Prolog 中找到一个原子并将其替换为另一个原子 replace A B replace H T A B B Result H A replace T A B Result replace H T
  • JSoup:请求 JSON 响应

    我正在使用 JSoup 进行身份验证 然后连接到网站 某些 URL 具有 JSON 响应 因为网站的一部分采用 AJAX JSoup 可以处理 JSON 响应吗 Connection Response doc Jsoup connect d
  • PHP 和 MySQL - 检查用户名是否已被占用

    现在的问题是 代码无法检查用户名是否已被占用 是否有任何代码可以检查用户名是否已在数据库中被占用 我正在尝试我的一些代码 然后可能也在 Stack Overflow 中搜索了有关此问题的信息 我试过这个solution https stac