php - 如何在MySQL表中的同一行的两列中插入值

标签 php mysql

我的数据库 (MySQL) 有一个表 members1,其中包含列 usernamepassword

我从 html 网页获取用户名和密码,并使用 php 更新数据库。

下面是php代码:

$flag = 0;
$sql = "SELECT username FROM members1";
    $result = $conn->query($sql);

    if ($result->num_rows > 0) 
    {
        while($row = $result->fetch_assoc()) 
        {
            if ($row["username"] == $_POST["username"])
            {                   
                {
                    $flag = 1;
                    echo "<h3>This username already exists.</h3>";
                    echo "Please try with a different username.<br/>";
                    echo "<br/><a href=sign_up.html>Try again</a>";
                    break;
                }                
            }
        }
        /* If username is unique */
        if ($flag == 0)
        {
            /* PROBLEM LIES HERE */
            $sql = "INSERT INTO  `dbname`.`members1` (`username`) VALUES ('" . $_POST["username"] . "')" ; 
            $sql2 = "INSERT INTO  `dbname`. `members1` (`password`) VALUES ('" . $_POST["pass1"] . "')";
            $conn->query($sql);
            $conn->query($sql2);
            echo "<h3>Signup successfull.</h3>You can now login with your username and password.";              
        }
    } 
$conn->close();

但是在前端给出用户名和密码后,当我检查数据库时,我看到用户名被插入到一行中,密码被插入到下一行中。

我正在自己的前端项目中工作,但我想我至少会添加一个注册登录功能。因此,我只是按照网上提供的一些简短教程来完成此操作。我想我犯了一个错误。

有人可以建议如何解决这个问题吗?我知道我必须更改 $sql$sq2 但不知道该怎么做。

谢谢。

最佳答案

插入当然可以一次填充多个字段:

$sql = "INSERT INTO  `dbname`.`members1` (`username`,`password`) VALUES ('" . $_POST["username"] . "','" . $_POST["pass1"] . "')" ; 
$conn->query($sql);

我还建议您告知where close

$sql = "SELECT username FROM members1 WHERE username = '".$_POST["username"]."'";

或者甚至尝试更好并添加 unique index在您的用户名字段

甚至可以冒险并了解安全性和 prepared statement .

关于php - 如何在MySQL表中的同一行的两列中插入值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29462353/

相关文章:

mysql - 如何设置SQL默认值等于主键

php - 插入的数据没有显示在 phpMyAdmin 的表中

php - 从数组中获取 Id 的值

mysql - 获取每个 "group"的前 5 条记录

php - 将 mysqli 连接对象转换为连接字符串

php - 节点链接树和数据由 PHP 在 json 文件中填充

php - 获取子目录下的所有文件

php - 从用户名 :password@example. com 链接访问凭据

php - 手动清除 HHVM 缓存

java - Intellij 无法在类路径中找到类