在 PHP 应用程序中出现两个错误

帕特里克MSM彻特斯

我正在使我的网站无法使注册部分工作,请帮助。

这些是我得到的错误:

致命错误:未捕获的错误:在第 43 行的 C:\wamp64\www\logins\login.php 中调用成员函数 bind_param()

和:

错误:在第 43 行调用 C:\wamp64\www\logins\login.php 中布尔值的成员函数 bind_param()。

这是我的登录文件代码:

<?php
require_once "../cookieSenders/sendLoginCookie.php";
require_once "../resources/ConnectToServer.php";
require_once "../resources/GenerateRandomString.php";

$login_type = $_GET["login_type"];
?>


<html>
<head>
    <title>PatHTML
    </title>
    <link rel="shortcut icon" href="../favico.ico" />
</head>
<body>
<h1><?php echo $_GET["login_type"]; ?></h1>
<?php
    if ($login_type == "login") { ?>
        <form method="post">

        </form>

    <?php } elseif ($login_type == "signup") { ?>
        <form method="post" action="">
            <input type="email" name="gmail" placeholder="Type your EMAIL."></input>
            <input type="text" name="username" placeholder="Type your USERNAME."></input>
            <input type="password" name="password" placeholder="Type your PASSWORD."></input>
            <input type="submit" value="Submit"></input>
            <?php
            $new_gmail ="";
            $new_password ="";
            $new_username ="";
            if (isset($_POST['gmail'])) $new_gmail = $_POST['gmail'];
            if (isset($_POST['username'])) $new_username = $_POST['username'];
            if (isset($_POST['password'])) $new_encoded_password = password_hash($_POST['password'], PASSWORD_BCRYPT);
            if (isset($new_encoded_password)) 
            {

                $sql = mysqli_query($conn, "INSERT INTO `users` (`username`,`password`,`email`, `LoginCookie`) VALUES (?,?,?,?)");

                $stmt = $conn->prepare($sql);
                $stmt->bind_param("ssss", $new_username, $new_encoded_password, $new_gmail, GenerateRandomString());
                $stmt->execute();
            }
            ?>
        </form>
    <?php } else {
        header("Location: ../error404.php?error=404&error_name=Login%20Type%20error&eBAT=$login_type");
        exit();
    }
?>

</body>
</html>

这是我的 ConnectToServer.php 脚本:

<?php
$sql_servername = "192.168.100.4";
$sql_username = "connect";
$sql_password = "LxcyXp12tclgU7dx";
$sql_database = "pathtml";

$conn = new mysqli($sql_servername, $sql_username, $sql_password);

mysqli_select_db($conn, $sql_database);

if (!$conn) die("Connection failed to server:" . mysqli_connect_error());

function CloseServerConnection()
{
    if ($conn) {
        mysqli_close($conn);
    }
}

?>

如何将我的新用户写入数据库?

里格斯愚蠢

此语法不正确

    $sql = mysqli_query($conn, "INSERT INTO `users` 
                                (`username`,`password`,`email`, `LoginCookie`) 
                            VALUES (?,?,?,?)");

    $stmt = $conn->prepare($sql);
    $stmt->bind_param("ssss", $new_username, $new_encoded_password, $new_gmail, GenerateRandomString());
    $stmt->execute();
}

您正在运行未准备好的查询,这永远不会起作用

我认为你提到的代码是

    $sql = "INSERT INTO `users` 
                       (`username`,`password`,`email`, `LoginCookie`) 
                VALUES (?,?,?,?)";

    $stmt = $conn->prepare($sql);
    $stmt->bind_param("ssss", $new_username, $new_encoded_password, 
                              $new_gmail, GenerateRandomString());
    $stmt->execute();
}

即使在 LIVE 环境中,要从 PHP 中获取错误,请将这 4 行添加到MYSQLI_您要调试的任何基于脚本的顶部

ini_set('display_errors', 1); 
ini_set('log_errors',1); 
error_reporting(E_ALL); 
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);`. 

这将强制任何MYSQLI_错误生成一个您可以在浏览器上看到的异常以及正常的 PHP 错误。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

加入两个表在codeigniter php中出现一些错误

来自分类Dev

集成两个使用相同类名,变量名的PHP应用程序

来自分类Dev

PHP应用程序出现无法解释的404错误

来自分类Dev

出现两个野生的php文件

来自分类Dev

代码中出现两个错误

来自分类Dev

Django项目中不同应用程序中的两个相同视图出现错误

来自分类Dev

通过http集成两个Java Web应用程序时出现IO错误

来自分类Dev

为什么我在用 Flask 连接两个应用程序时出现 404 错误

来自分类Dev

我想在PHP中比较两个逗号分隔的字符串,并仅保留两个中出现的值

来自分类Dev

我想在PHP中比较两个逗号分隔的字符串,只保留两个中出现的值

来自分类Dev

将PHP应用程序部署到Google AppEngine失败,出现403错误

来自分类Dev

尝试从 Azure 托管的 PHP 应用程序连接到 SQL Server,但出现错误 (ODBC)

来自分类Dev

尝试添加两个php命令时出现语法错误

来自分类Dev

我的PHP文件上传系统不断出现两个错误

来自分类Dev

避免在程序集的两个部分中出现模块和类型定义的错误

来自分类Dev

Android应用程序SQLiteDatabase插入新值无效,代码中出现0个错误

来自分类Dev

启动应用程序一段时间后,uwsgi出现两个MySql错误

来自分类Dev

Ubuntu 20.04 中出现两个不同的应用中心

来自分类Dev

在我的PHP / SQL脚本中出现错误?

来自分类Dev

在php登录屏幕中出现错误

来自分类Dev

在以下php代码中出现错误

来自分类Dev

如果Android应用程序中出现其他错误

来自分类Dev

我的Windows窗体应用程序中出现错误

来自分类Dev

在Android应用程序中出现致命错误

来自分类Dev

reactjs应用程序中出现意外的令牌错误

来自分类Dev

在 activerecord 中出现密码存在两个错误

来自分类Dev

当我尝试将PHP应用程序部署到Google App Engine时,为什么突然出现400错误?

来自分类Dev

为什么在页面的两个部分中尝试使用PHP时会出现未定义的变量错误?

来自分类Dev

浏览器发送两个Cookie-PHP的会话处理程序读取错误一个

Related 相关文章

  1. 1

    加入两个表在codeigniter php中出现一些错误

  2. 2

    集成两个使用相同类名,变量名的PHP应用程序

  3. 3

    PHP应用程序出现无法解释的404错误

  4. 4

    出现两个野生的php文件

  5. 5

    代码中出现两个错误

  6. 6

    Django项目中不同应用程序中的两个相同视图出现错误

  7. 7

    通过http集成两个Java Web应用程序时出现IO错误

  8. 8

    为什么我在用 Flask 连接两个应用程序时出现 404 错误

  9. 9

    我想在PHP中比较两个逗号分隔的字符串,并仅保留两个中出现的值

  10. 10

    我想在PHP中比较两个逗号分隔的字符串,只保留两个中出现的值

  11. 11

    将PHP应用程序部署到Google AppEngine失败,出现403错误

  12. 12

    尝试从 Azure 托管的 PHP 应用程序连接到 SQL Server,但出现错误 (ODBC)

  13. 13

    尝试添加两个php命令时出现语法错误

  14. 14

    我的PHP文件上传系统不断出现两个错误

  15. 15

    避免在程序集的两个部分中出现模块和类型定义的错误

  16. 16

    Android应用程序SQLiteDatabase插入新值无效,代码中出现0个错误

  17. 17

    启动应用程序一段时间后,uwsgi出现两个MySql错误

  18. 18

    Ubuntu 20.04 中出现两个不同的应用中心

  19. 19

    在我的PHP / SQL脚本中出现错误?

  20. 20

    在php登录屏幕中出现错误

  21. 21

    在以下php代码中出现错误

  22. 22

    如果Android应用程序中出现其他错误

  23. 23

    我的Windows窗体应用程序中出现错误

  24. 24

    在Android应用程序中出现致命错误

  25. 25

    reactjs应用程序中出现意外的令牌错误

  26. 26

    在 activerecord 中出现密码存在两个错误

  27. 27

    当我尝试将PHP应用程序部署到Google App Engine时,为什么突然出现400错误?

  28. 28

    为什么在页面的两个部分中尝试使用PHP时会出现未定义的变量错误?

  29. 29

    浏览器发送两个Cookie-PHP的会话处理程序读取错误一个

热门标签

归档