我不确定这里出了什么问题。我只是在线上学习教程,并且弹出了这些错误。
我收到以下错误
错误
Notice: Undefined variable: db in C:\xampp\htdocs\wisconsindairyfarmers\admin\login.php on line 7 Fatal error: Call to a member function query() on null in C:\xampp\htdocs\wisconsindairyfarmers\admin\login.php on line 7
码
<?php $db = new mysqli('127.0.0.1', 'root', '', 'wisconsindairyfarmers'); ?> <?php require '../db/connect.php'; require '../functions/general.php'; function user_exists($username){ //$username = sanitize($username); $result = $db->query("SELECT COUNT(UserId) FROM users WHERE UserName = '$username'"); if($result->num_rows){ return (mysqli_result($query, 0) == 1) ? true : false; }} if(empty($_POST) === false){ $username = $_POST['username']; $password = $_POST['password']; if(empty($username) === true || empty($password) === true){ echo 'You need to enter a username and password'; } else if(user_exists($username) === false) { echo 'We can\'t find that username.'; } } ?>
首先,您在函数外声明了$ db。如果要在函数内部使用它,则应将其放在函数代码的开头:
global $db;
我猜,当你写的时候:
if($result->num_rows){ return (mysqli_result($query, 0) == 1) ? true : false;
您真正想要的是:
if ($result->num_rows==1) { return true; } else { return false; }