我的数据库(MySQL)有一个表members1
,列username
和password
。如何在MySQL表中插入同一行的两列值
我正在从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
,但不知道该怎么做。
谢谢。
您应该在第二次插入中添加一个where子句来搜索用户。 – Typo 2015-04-05 21:49:54