Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/61.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 警告:mysqli\u real\u escape\u string()要求参数1为mysqli,null_Php_Mysql_Mysqli - Fatal编程技术网

Php 警告:mysqli\u real\u escape\u string()要求参数1为mysqli,null

Php 警告:mysqli\u real\u escape\u string()要求参数1为mysqli,null,php,mysql,mysqli,Php,Mysql,Mysqli,有人能帮我理解这意味着什么吗?因为当我看我的代码并将其与向我学习的人进行比较时,我似乎没有犯任何错误的问题,我甚至试图复制他的代码,但我仍然得到了答案 警告:mysqli\u real\u escape\u string()要求参数1为mysqli, 第15行的/home/daltonapala/public_html/mysql/Grab.php中给出了null 警告:mysqli_query()要求参数1为mysqli,给定为null 在第17行的/home/daltonapala/publ

有人能帮我理解这意味着什么吗?因为当我看我的代码并将其与向我学习的人进行比较时,我似乎没有犯任何错误的问题,我甚至试图复制他的代码,但我仍然得到了答案

警告:mysqli\u real\u escape\u string()要求参数1为mysqli, 第15行的/home/daltonapala/public_html/mysql/Grab.php中给出了null

警告:mysqli_query()要求参数1为mysqli,给定为null 在第17行的/home/daltonapala/public_html/mysql/Grab.php中

警告:mysqli_num_rows()要求参数1为mysqli_结果, 第19行的/home/daltonapala/public_html/mysql/Grab.php中给出了null

现在我有点明白了,有了它,参数1应该是mysqli,null,因为它没有变量或其他东西,因为我读了一些问题和答案,但我仍然不完全理解,为什么我会有这些警告或错误

以下是我的注册页面代码:

<?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命令后正在定义$link。在执行mysqli命令之前,首先必须定义$link。因此,请尝试将以下几行放在文件顶部的php标记后面,看看这是否有帮助:

$link = mysqli_connect("localhost", "examplebb", "kle]cwdum)#]", "examplebb");
if (mysqli_connect_error()) {

die("Could not connect to database");

您在尝试使用连接对象之后创建它。将
mysqli\u connect()
移动到您的文件顶部。谢谢您为我节省了时间。我想我得花一个星期的时间来找出我的代码出了什么问题。