【问题标题】:How do I get rid of an error in my php.code?如何摆脱 php.code 中的错误?
【发布时间】:2019-06-11 20:40:31
【问题描述】:

我正在尝试使用 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

【问题讨论】:

  • 您不应存储纯文本密码。哈希它们。 $con$connection$dbc 是什么?为什么有 3 个数据库连接?
  • $db 必须是正确的变量,因为您没有收到来自mysqli_real_escape_string() 的错误。将$con$dbc 更改为$db
  • session_register() 自 PHP 5.4.0 起在 PHP 中不存在。如果您仍在使用该 PHP 版本,则应立即考虑升级。如果您已经在使用最新版本,那么这将在您的代码中引发错误。

标签: php login


【解决方案1】:

当你打电话时

mysqli_query($con, $SQL)

您的$convariable 尚未初始化,因此为空。这就是您的错误消息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

您似乎结合了来自不同书籍或教程的内容。遵循一个教程,直到您了解每一行的作用以及它存在的原因。如果某个教程不适合您,请尝试另一个教程。有些不好。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-08-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多