if(true){
//query
$insertAccount = mysqli_prepare($connection,"INSERT INTO accounts (username, password, email), VALUES (?,?,?)");
//bind
$bindSuccess = mysqli_stmt_bind_param($insertAccount, 'sss', $username,$password,$email);
if(mysqli_stmt_execute($insertAccount)){
header("Location: welcome.php");
}else{
header("Location: signup.php");
}
}
您好,我的php代码中有上面的代码片段,我总是被定向到signup.php,并且没有插入语句,我在这里做错了什么?我是php和php的mysqli语句的新手。
if(true)仅供我测试,确定该块已被执行。
答案 0 :(得分:0)
mysqli_stmt_execute在出错时返回false值。您应该确认查询中没有错误:
if(true){
//query
$insertAccount = mysqli_prepare($connection,"INSERT INTO accounts (username, password, email), VALUES (?,?,?)");
//bind
$bindSuccess = mysqli_stmt_bind_param($insertAccount, 'sss', $username,$password,$email);
if(mysqli_stmt_execute($insertAccount)){
header("Location: welcome.php");
}else{
printf("Error: %s.\n", mysqli_stmt_error($insertAccount));
//header("Location: signup.php");
}
}
答案 1 :(得分:0)
固定! “INSERT INTO帐户(用户名,密码,电子邮件),VALUES(?,?,?)”我的错误是在sql语句中,还有一个额外的逗号!!!!