警告:mysqli_real_escape_string()期望参数1为mysqli,null



有人可以帮助我理解它的含义复制他的代码,我仍然得到

警告:mysqli_real_escape_string()期望参数1为mysqli, 在/home/daltonnapala/public_html/mysql/grab.php中给出的null 15

警告:mysqli_query()期望参数1为mysqli,null给出 in/home/daltonnapala/public_html/mysql/grab.php in Line 17

警告:mysqli_num_rows()期望参数1为mysqli_result, null/home/daltonnapala/public_html/mysql/grab.php在第19行19

现在我有点了解,让这个参数1是mysqli,null null鉴于它没有变量或其他内容,因为我阅读了一些问题和答案,但我仍然不完全理解以及为什么IM有这些警告或错误。

这是我的注册页面的代码:

<?php
if (array_key_exists('email', $_POST) OR array_key_exists('password', $_POST)){
    if ($_POST['email'] == ''){
        echo "<p>Please put in your email!</p>";
    } else if ($_POST['password'] == ''){
        echo "<p>Please put in your Password!</p>";
    } else {
        $query = "SELECT `id` FROM `users` WHERE email ='".mysqli_real_escape_string($link, $_POST['email'])."'";
        $result = mysqli_query($link, $query);
            if(mysqli_num_rows($result) > 0){
                echo "<p>That email address has already been sign in</p>";
            }
    }
}
$link = mysqli_connect("localhost", "examplebb", "kle]cwdum)#]", "examplebb");
if (mysqli_connect_error()) {
die("Could not connect to database");
}
 ?>
<form method="post">
<input name="email" type="text" placeholder="Email">
<input name="password" type="password" placeholder="Password here">
<input type="submit" value="Sign up!">
</form>

在我看来,执行mysqli命令后您正在定义$链接。您首先必须定义$链接,然后才能执行mysqli命令。因此,尝试将以下行放在PHP标签之后立即将以下行放在文件的顶部,看看是否有帮助:

$link = mysqli_connect("localhost", "examplebb", "kle]cwdum)#]", "examplebb");
if (mysqli_connect_error()) {
die("Could not connect to database");

最新更新