Php 我能';我没有发现任何错误
无法访问header.php???Php 我能';我没有发现任何错误,php,mysql,Php,Mysql,无法访问header.php??? if ($_SERVER["REQUEST_METHOD"] == "POST") { $name = $_POST["firstname"]; $lastname = $_POST["lastname"]; $email = $_POST["email"]; $password = $_POST["password"]; $mobile = $_POST["mobile"]; $office_num = $_POST["office"
if ($_SERVER["REQUEST_METHOD"] == "POST") { $name = $_POST["firstname"]; $lastname = $_POST["lastname"]; $email = $_POST["email"]; $password = $_POST["password"]; $mobile = $_POST["mobile"]; $office_num = $_POST["office"];
$sql = mysqli_query($dbcon,"insert into `user_info`(`firstname`, `lastname`, `email`, `password`, `mobile`,`office_contact`) values('$name','$lastname','$email', '$password', '$mobile', $office_num)");
if (mysqli_query($dbcon, $sql)) {
echo "New record created successfully";
header("Location: header.php");
} else {
echo "Error: " . $sql . "<br>" . mysqli_error($dbcon); } ?>
if($\u SERVER[“REQUEST\u METHOD”]=“POST”){$name=$\u POST[“firstname”];$lastname=$\u POST[“lastname”];$email=$\u POST[“email”];$password=$\u POST[“password”];$mobile=$\u POST[“mobile”];$office\u num=$\u POST[“office”];
$sql=mysqli\u query($dbcon,“插入用户信息”(`firstname`、`lastname`、`email`、`password`、`mobile`、`office\u contact`)值(`name`、`lastname`、`email`、`password`、`mobile`、`office\u num');
if(mysqli_查询($dbcon,$sql)){
echo“新记录创建成功”;
标题(“位置:header.php”);
}否则{
echo“Error:”.$sql.
“.mysqli_Error($dbcon);}?>
这是我收到的错误:
错误:1
您的SQL语法有错误;请查看与您的MariaDB服务器版本对应的手册,以了解第1行“1”附近要使用的正确语法
这里的问题是您使用了两次
mysqli\u query()
$sql = mysqli_query($dbcon,"insert into... $office_num)");
^^^^^^^^^^^^ There
if (mysqli_query($dbcon, $sql))
^^^^^^^^^^^^ and there
条件语句正在再次调用它。您需要删除第一个查询调用,这解释了1
作为错误返回的原因
您的代码也易于sql注入;请使用准备好的语句:
您还使用以下代码行输出before标头:
echo "New record created successfully"; // << Remove this line
header("Location: header.php");
echo“New record created successfully”;//您的脚本有可能会出错。请查看使用时发生的情况。永远不要存储纯文本密码!请使用来处理密码安全问题。如果您使用的PHP版本低于5.5,则可以使用密码\u hash()。在散列之前,请确保您或使用任何其他清理机制。这样做会更改密码并导致不必要的额外编码。是的。我正在将密码存储在平面中text@JohnConde我不得不重新提出这个问题,John,他们正在调用mysqli_query()
两次;这就是为什么他们将1
作为错误;-)编辑:哦,在标题之前输出。