1
resposta

Fatal error: Uncaught ArgumentCountError: mysqli_real_escape_string()

Prezados, estou com um problema ao tentar fazer um sistema de login, está ocorrendo o seguinte erro Fatal error: Uncaught ArgumentCountError: mysqli_real_escape_string() expects exactly 2 arguments, 1 given in C:\xampp\htdocs\sistema3\login.php:11 Stack trace: #0 C:\xampp\htdocs\sistema3\login.php(11): mysqli_real_escape_string('RELTON.CRUZ') #1 {main} thrown in C:\xampp\htdocs\sistema3\login.php on line 11

Poderiam me ajudar? Conexão.php

<?php
define('HOST', 'localhost'); // O VALOR DE HOST É O IP DO BANCO DE DADOS MYSQL
define('USUARIO', 'root');
define('SENHA', '');
define('DB', 'inventarioup');

$conexao = mysqli_connect(HOST, USUARIO, SENHA, DB) or die('Não foi possível conectar');

}public function __construct(mysqli $mysql)


?>

Login.pho

<?php
include ('conexao.php');



if(empty($_POST['usuario']) || empty($_POST['senha'])) {
    header('Location: index.php');
    exit();
} 

$usuario = mysqli_real_escape_string($_POST['usuario']);
$senha = mysqli_real_escape_string($_POST['senha']);

$query = "select login,senha from usuarios where login = '{usuario}' and senha = md5('{senha}')";

$result = mysqli_query($conexao, $query);

$row = mysqli_num_rows($result);

exit;

if($row == 1){
    $_SESSION['usuario'] = $usuario;
    header('Location: painel.php');
    exit();
}else{
    $_SESSION['nao autenticado'] = true;
    header('Location: index.php');
    exit();
}

?>
1 resposta

Fala Sergio, beleza?

Observe que o PHP te informa o erro ArgumentCountError: mysqli_real_escape_string() expects exactly 2 arguments, 1 given.

Ou seja, você está passando apenas um argumento para a função mysqli_real_escape_string(), enquanto a função espera que você informe dois parametros, que são eles: a conexão e a string que deseja realizar o escape.