如何摆脱php.code中的错误?

时间:2019-06-11 20:40:31

标签: php login

我正在尝试使登录功能与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

1 个答案:

答案 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

似乎您合并了来自不同书籍或教程的内容。遵循一个教程,直到您了解每行的内容以及为什么要这么做。如果某本教程不适合您,请尝试另一本。其中有些不好。