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不执行插入查询[重复]的主要内容,如果未能解决你的问题,请参考以下文章

PHP,AJAX,MYSQLI,不插入行[重复]

php/mysqli 查询未执行某些查询且没有错误

在使用准备好的语句执行插入查询后获取自动增量 ID

如何在php echo中执行mysql查询? [重复]

PHP显示查询不同的sql执行

Mysqli多行插入,简单的多插入查询