无法执行insert语句

时间:2014-11-04 14:32:33

标签: php mysqli

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)仅供我测试,确定该块已被执行。

2 个答案:

答案 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语句中,还有一个额外的逗号!!!!