我正在尝试使登录功能与php一起使用。由于某些原因,我在加载页面时仍会显示错误。
<html>
<?php
include("config.php");
session_start();
if($_SERVER["REQUEST_METHOD"] == "POST") {
// username and password sent from form
$myusername = mysqli_real_escape_string($db,$_POST['username']);
$mypassword = mysqli_real_escape_string($db,$_POST['password']);
$sql = "SELECT id FROM admin WHERE username = '$myusername' and passcode = '$mypassword'";
$result = mysqli_query($con, $SQL)or die(mysqli_error($connection));
$row = mysqli_fetch_array($result,MYSQLI_ASSOC);
$active = $row['active'];
$dbc = mysqli_connect("localhost", "my_user", "my_password", "world");
$count = mysqli_num_rows($result);
// If result matched $myusername and $mypassword, table row must be 1 row
if (!$dbc || mysqli_num_rows($dbc) == 0) {
session_register("myusername");
$_SESSION['login_user'] = $myusername;
header("location: welcome.php");
}else {
$error = "Your Login Name or Password is invalid";
}
}
?>
<html/>
警告:mysqli_query()期望参数1为mysqli,在第13行的/home/ubuntu/workspace/website/login.php中给出的null
答案 0 :(得分:0)
致电时
mysqli_query($con, $SQL)
您的$con
变量尚未初始化,因此为空。这就是您的错误消息说的null given ... on line 13
尝试添加一个
$con = mysqli_connect("localhost", "my_user", "my_password", "world");
在第13行之前。$connection
和$dbc
似乎多余,请不要使用它们。
在PHP中,变量名称区分大小写。这意味着$ SQL与$ sql不同。 mysqli_query($con, $SQL)
中的第二个参数也为null。使用$sql
。
似乎您合并了来自不同书籍或教程的内容。遵循一个教程,直到您了解每行的内容以及为什么要这么做。如果某本教程不适合您,请尝试另一本。其中有些不好。