我在下面有一个插入查询,并使用:mysqli_stmt_execute
检查插入是否成功。由于未将值输入到我的数据库中,因此查询未执行。但是,我正处于if
状态。我不明白这。我之前已将stmt_prepare
包裹在if
条件中,并且在成功准备时也返回true
。我对bind语句做了同样的事情,现在我在最后的execute语句中使用了它。全部返回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;
编辑我不知道问题是什么,但我删除了我的auth表并重新创建它并且它有效吗?
答案 0 :(得分:1)
您在插入查询中的empty
中不需要VALUES()
个字符串,因为您只插入两个值
如果您知道
$AddToken = "INSERT INTO `auth` (column1, column2) VALUES (?, ?)";