0

我在下面有一个插入查询,正在检查插入是否成功使用:mysqli_stmt_execute。查询未执行,因为值未输入到我的数据库中。但是,我正在进入这种if状态。我无法理解这。我之前已经将它包裹stmt_prepare在一个if条件下,并且它也正在返回true它正在成功准备。我对绑定语句做了同样的事情,现在我在最终的执行语句中使用了它。全部返回 true,但查询未执行。表的结构是正确的。我什至在 phpmyadmin 中进行了插入,并将生成的查询粘贴到我的 AddToken 变量中。

    $con = 'my login credentials'
    $stmt = mysqli_stmt_init($con);
    $AddToken = "INSERT INTO `auth`  VALUES ('',?, ?)";

    mysqli_stmt_prepare($stmt, $AddToken);

    mysqli_stmt_bind_param($stmt, "si", $Token, $ID);

    if (mysqli_stmt_execute($stmt)){
        $message2 = "here";
        // worked
    }
    else{
        //didn't work
        $message2 = "here 2";
    }
    echo $message2;

编辑我不知道问题出在哪里,但我删除了我的身份验证表并重新创建它并且它有效?

4

1 回答 1

1

您不需要在插入查询中包含empty字符串VALUES(),因为您只插入两个值 如果您知道,最好指定列名

$AddToken = "INSERT INTO `auth` (column1, column2) VALUES (?, ?)";
于 2015-06-10T15:56:04.047 回答