有人可以帮助我理解它的含义复制他的代码,我仍然得到
警告: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");