我正在尝试使用参数化 SQL 执行 INSERT
。我是参数化 SQL 的新手。我的表名称是 archpedia.full_developers (db.table)
我的连接也工作正常。我在我的数据库 archpedia 上创建了仅具有 SELECT、INSERT、UPDATE
权限的自定义用户。我什至用 root 检查了 SQL
只是为了确认用户权限是否有错误,但即使是 root 似乎也不起作用。
这是我的 php:
$query = "INSERT INTO full_developers (fullname, username, email, password, project, phone, token, salt) VALUES (?, ?, ?, ?, ?, ?, ?)";
$insert_stmt = $mysqli->prepare($query);
echo "ok?";
if ($insert_stmt) {
$insert_stmt->bind_param('sssssiss', $fullname, $username, $email, $password, $project, $phone, $uniqueToken, $random_salt);
//$insert_stmt->execute();
// Execute the prepared query.
echo "check";
if (! $insert_stmt->execute()) {
header('Location: ../error.php?err=Registration failure: INSERT');
}
}
//header('Location: ./register_success.php');
嗯,我的错误是 $insert_stmt->prepape($query);
不起作用。我没有收到任何错误。当我输入语句 echo "check"以查看天气 $insert_stmt
是否正常工作时,它永远不会显示。我不知道我到底哪里做错了,因此任何帮助将不胜感激。
最佳答案
首先如果你有 8 个值(还缺少一个)
VALUES (?, ?, ?, ?, ?, ?, ?)
为 8 个值添加 8 个占位符
VALUES (?, ?, ?, ?, ?, ?, ?, ?)
报错进一步检查错误
关于php - 参数化 SQL : Insert not working,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26458620/