我是php的新手。我正在尝试建立一个注册网页,如果输入的电子邮件不存在,则应插入输入的值。代码工作正常,并在输入新邮件时返回成功。但问题是当我检查我的数据库时没有插入新的值。我的代码中是否有任何错误? 提前谢谢。
<?php
session_start();
if(isset($_POST['signup'])){
include_once("db.php");
$email=strip_tags($_POST['emailid']);
$username=strip_tags($_POST['username']);
$password=strip_tags($_POST['password']);
if($email==NULL || $username== NULL || $password==NULL){
print "Missing one of the fields";
}
else{
$email=stripslashes($email);
$username=stripslashes($username);
$password=stripslashes($password);
$email=mysqli_real_escape_string($db,$email);
$username=mysqli_real_escape_string($db,$username);
$password=mysqli_real_escape_string($db,$password);
$query = "SELECT * FROM user WHERE email='$email'";
$result = mysqli_query($db,$query);
if($result && mysqli_num_rows($result) > 0 )
{
echo "Account already exists.Please login";
}
else{
$sql="INSERT INTO user (ID,email,username,password) VALUES
(NULL,'$email','$username','$password')";
if($sql)
{
echo "Account created successfully.";
}
else
{
echo "Error";
}
}
}
}
?>
答案 0 :(得分:1)
您没有执行插入查询,它应该如下所示:
$sql="INSERT INTO user (ID,email,username,password) VALUES
(NULL,'$email','$username','$password')";
$sql= mysqli_query($db,$sql); ///You are missing this
答案 1 :(得分:0)
更改自:
$sql="INSERT INTO user (ID,email,username,password) VALUES
(NULL,'$email','$username','$password')";
if($sql)
{
echo "Account created successfully.";
}
要:
$sql="INSERT INTO user (ID,email,username,password) VALUES
(NULL,'$email','$username','$password')";
if(mysqli_query($db,$sql))
{
echo "Account created successfully.";
}
您需要执行第二个查询($sql
)
答案 2 :(得分:0)
$sql="INSERT INTO user (email,username,password) VALUES
('$email','$username','$password')";
if(mysqli_query($db,$sql))
{
echo "Account created successfully.";
}
删除不需要的null
INSERT值,如果是自动增量索引,则应自动生成。{li>
执行$sql
语句a MySQLi_query,然后在IF语句中使用该结果。
奖励:使用mysqli_error($ db)来回馈您将遇到的错误,例如:
mysqli_query($db,$sql) or die("error: ".mysqli_error($db));
答案 3 :(得分:0)
您的声明未执行... 您只创建一个包含insert语句的变量。
您必须使用。-Operator将变量附加到查询中。
$sql="INSERT INTO user(ID,email,username,password) VALUES (NULL, '".$email."', '".$username."', '".$password."')";
mysqli_query($db,$sql);
更好的方法是,绑定变量并使用预处理语句。