首页 >数据库 >mysql教程 >尽管通过了所有调试检查,为什么我的 MySQLi 插入失败?

尽管通过了所有调试检查,为什么我的 MySQLi 插入失败?

Mary-Kate Olsen
Mary-Kate Olsen原创
2024-11-15 17:55:02291浏览

Why is My MySQLi Insertion Failing Despite Passing All Debug Checks?

使用 MySQLi 插入数据

此代码似乎正在执行所有调试检查,但无法将新数据插入数据库。让我们逐步分析一下。

代码尝试检查“username”是否已存在于“UserData”表中。如果没有,它会尝试添加新行。然而,它在插入部分遇到了问题。

识别问题

问题在于为插入语句声明绑定参数的方式。不应多次传递单个变量(例如 $username、$password 两次),而应将它们与其相应的类型一起传递。

解决方案

bind_param 函数期望变量类型位于变量本身之前。因此,绑定参数的正确方法是:

$stmt2->bind_param('ss', $username, $password);

或者,如果您使用 PHP 5.6 或更高版本,则可以使用扩展运算符 (...) 来简化:

$data = ['user' => 'someUser', 'password' => 'secret'];
$stmt2->bind_param('ss', ...$data);

一旦参数绑定正确,插入就会成功。请注意,您的问题中提供的代码有一些可能令人困惑或不必要的注释;为了清晰起见,建议将其删除。

以上是尽管通过了所有调试检查,为什么我的 MySQLi 插入失败?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn