首页 > 解决方案 > 如何在控制台上打印错误?

问题描述

function loginuser() {
    $results=array();
    $errors = array();

        $username = 'abc';
        $password = '123';
if ($username='') {
            array_push($errors, "Username is required");
        }
        else if ($password='') {
            array_push($errors, "Password is required");
        }


            $query = "SELECT * FROM users WHERE user_name='$username' AND user_pass='$password'";
            $result = selection($query);

        while ($row = mysqli_fetch_assoc($result)) {
        $results[] = row_jsonify($row);
    }










return json_encode($results);
return json_encode($errors);
}

下面是代码 m 打印,但如果我不提供用户名或密码,即如果我将其留空,如 $username=' '; 则会在控制台上引发 sql 错误

如果用户名或密码不正确或为空,我现在应该怎么做才能在控制台上打印错误,因为我现在没有前端

标签: phpjson

解决方案


为避免此错误“警告:mysqli_fetch_assoc() 期望参数 1 为 mysqli_result,请检查 $_POST 是否不为空并在其他情况下打印错误仅用于测试。

要检查输入字段是否为空,请应用 JavaScript 验证以避免提交为空。

if(!empty($_POST["login"])) {
    $result = mysqli_query($conn,"SELECT * FROM users WHERE user_name='" . $_POST["user_name"] . "' and password = '". $_POST["password"]."'");
    $row  = mysqli_fetch_array($result);
    if(is_array($row)) {
    $_SESSION["user_id"] = $row['user_id'];
    } else {
    $message = "Invalid Username or Password!";
    }
}

这是一个示例,以简化您的代码,如果您有任何问题,请尝试打印变量,例如 var_dump 和 print_r

<?php
session_start();
$conn = mysqli_connect("localhost","root","","database_ex");

$message="";
if(!empty($_POST["login"])) {
    $result = mysqli_query($conn,"SELECT * FROM users WHERE user_name='" . $_POST["user_name"] . "' and password = '". $_POST["password"]."'");
    $row  = mysqli_fetch_array($result);
    if(is_array($row)) {
    $_SESSION["user_id"] = $row['user_id'];
    } else {
    $message = "Invalid Username or Password!";
    }
}else{
  //Print error message here if no username or password provided;
  echo "Invalid credentials"; 
  print_r($_POST);
  var_dump($_POST);
}
?>

推荐阅读