我不断收到错误消息,例如:
警告:mysqli_real_escape_string()只需要2个参数,1 在第3行的C:\ xampp \ htdocs \ lr \ core \ functions \ general.php中给出
致命错误:未捕获错误:调用未定义的函数 mysqli_result()在C:\ xampp \ htdocs \ lr \ core \ functions \ users.php:4 Stack trace:#0 C:\ xampp \ htdocs \ lr \ login.php(13):user_exists(NULL)#1 {main}抛出C:\ xampp \ htdocs \ lr \ core \ functions \ users.php在线 4"
这是我的users.php代码:
function user_exists($User) {
$User = sanitize($User);
return (mysqli_result(mysqli_query("SELECT COUNT('Id') FROM
'members' WHERE 'User' = '$User'"), 0) == 1) ? true : false;
}
function user_active($User) {
$User = sanitize($User);
return (mysqli_result(mysqli_query("SELECT COUNT('Id') FROM
'members' WHERE 'User' = '$User' AND 'active' = 1"), 0) == 1) ? true : false;
}
function Id_from_User($User) {
$User = sanitize($User);
return mysqli_result(mysqli_query("SELECT 'Id' FROM 'members'
WHERE 'User' ='$User'"), 0, 'Id');
}
function login($User, $Password) {
$Id = Id_from_User($User);
$User = sanitize($User);
return (mysqli_result(mysqli_query("SELECT COUNT('Id') FROM
'members' WHERE 'User' = '$User' AND 'Password' = 'Password'"), 0) == 1) ? $Id : false;
}
我的init.php代码
session_start();
require('database/connect.php');
require('functions/users.php');
require('functions/general.php');
$errors = array();
我的login.php代码
include('core/init.php');
if (empty($_POST) === false) {
$User = $_POST['User'];
$Password = $_POST['Password'];
if (empty($User) === true || empty($Password) === true) {
$errors[] = 'You need to enter a Username and Password';
} else if (user_exists($User) === false) {
$errors[] = 'We can\'t find that Username. Have you
registered?';
} else {
$login = login($User, $Password);
if ($login === false) {
$errors[] = 'That Username/Password combination is
incorrect';
} else {
echo 'ok!';
$_SESSION['Id'] = $login;
header('Location: index.php');
exit();
}
}
print_r($errors);
}
我的general.php代码
function sanitize($data) {
return mysqli_real_escape_string($data);
}
我的connect.php代码
$conn = mysqli_connect("localhost", "root", "", "underthehat");
if (!$conn) {
echo "Error: Unable to connect to MySQL." . PHP_EOL;
echo "Debugging errno: " . mysqli_connect_errno() . PHP_EOL;
echo "Debugging error: " . mysqli_connect_error() . PHP_EOL;
exit;
}
echo "Success: A proper connection to MySQL was made! The my_db
database is great." . PHP_EOL;
echo "Host information: " . mysqli_get_host_info($conn) . PHP_EOL;
mysqli_close($conn);
最后我的index.php代码
include('core/init.php');
include('includes/head.php');
if (isset($_SESSION['Id'])) {
echo 'Logged in';
} else {
echo 'Not logged in';
}
echo "<html><body>";
include('includes/header.php');
include('includes/aside.php');
include('includes/footer.php');
echo "</body></html>";
我一直试图用我创建的数据库找出我的登录信息,但我得到的错误。
答案 0 :(得分:1)
您的mysqli_real_escape_string()
也需要连接变量;
所以你需要传递
$conn = mysqli_connect("localhost", "root", "", "underthehat");
在您mysqli_real_escape_string()
上方然后将其包含在该标记中;
return mysqli_real_escape_string($conn, $data);
答案 1 :(得分:0)
我虽然不在我手中。好的,谢谢你们,我会重新开始,我没有帮助我使用Lil较旧的教程,所以一些语法已经改变,我不知道我们会抓住它。我只想感谢大家的诚实反馈。