PHP MySQLi不执行插入查询[重复]
Posted
技术标签:
【中文标题】PHP MySQLi不执行插入查询[重复]【英文标题】:PHP MySQLi doesn't execute INSERT query [duplicate] 【发布时间】:2019-06-20 20:07:32 【问题描述】:我的重定向错误。但是系统不允许我删除问题 我有一个带有注册页面的网站。后端是一个 SQL 数据库,但是当 UPDATE 和 SELECT 工作时, INSERT 不工作。 IT 也没有给我任何错误。
生成 INSERT 语句的代码如下所示:
$username = "peter";
$pwhash = password_hash($password, PASSWORD_DEFAULT);
$role = "publisher";
$locked = "false";
//Prepare SQL Query
$sql = "insert into user(username, password, role, locked)";
$sql .= " VALUES (?, ?, ?, ?);";
//Reuire SQL Connection
require "db_inc.php";
//Prepare stmt
$stmt = mysqli_prepare($con, $sql);
//Bind Parameters
mysqli_stmt_bind_param($stmt, 'ssss',
$username,
$pwhash,
$role,
$locked);
//Execute SQL
mysqli_stmt_execute($stmt);
mysqli_close($con);
SQL 数据库如下所示:
我做错了什么? $con 连接是正确的,因为它适用于 SELECT 和 UPDATE 查询。
【问题讨论】:
ENUM 中有什么? ENUM("admin", "publisher") @TimothyLukasH. @Tim 您的mysqli_prepare()
、mysqli_stmt_bind_param()
和mysqli_stmt_execute()
调用的返回值是多少?使用var_dump();
和edit 输出您的问题以包含输出。另外,包括var_dump(mysqli_error($con));
的输出。
@Progman 我刚刚注意到一些奇怪的事情。上面的 SQL 查询是一个类的函数,成功时返回 true。在我调用该函数的文件中,成功后什么都不会发生。但它仍然将我重定向到起始页面。所以我需要先解决这个问题
这是完全不同的东西......我没有将我的表单重定向到注册,而是重定向到主页。对不起。
【参考方案1】:
您是否尝试过将“插入”大写?并尝试更改 '$locked = "false";' to'$locked = 0';
【讨论】:
insert
不需要大写。这是开发者的偏好。
as @user3783243 大写无关紧要,我已经尝试过使用 0。即使我不绑定零并将其写入查询字符串,它也不起作用
这是完全不同的东西......我没有将我的表单重定向到注册,而是重定向到主页。对不起。以上是关于PHP MySQLi不执行插入查询[重复]的主要内容,如果未能解决你的问题,请参考以下文章