Erreur fatale: Appel à un membre de la fonction query() sur la valeur null
Je ne suis pas sûr de ce qui va mal ici. J'étais juste en suivant un tutoriel en ligne et ces erreurs ont sauté.
J'obtiens les erreurs suivantes
Erreur
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
Code
<?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.';
}
}
?>
Votre
J'ai changé les variables, et la première erreur est fixe, mais je suis encore en train : Fatal error: Call to undefined function mysqli_result()
Je pense que c'est parce que vous êtes à l'aide de la programmation orientée objet sur la première partie et de procédure pour les résultats.
Je suis un peu nouveau pour php, comment dois-je faire à propos de la fixation?
Je pense que c'est parce que
$db
variable est à l'intérieur d'une fonction et donc hors de portée du code, qui la définit. Déclarer à l'échelle mondiale, ou mieux, de le passer en argument à la fonction. Voir le manuel PHP sur portéeJ'ai changé les variables, et la première erreur est fixe, mais je suis encore en train : Fatal error: Call to undefined function mysqli_result()
Je pense que c'est parce que vous êtes à l'aide de la programmation orientée objet sur la première partie et de procédure pour les résultats.
Je suis un peu nouveau pour php, comment dois-je faire à propos de la fixation?
Je pense que c'est parce que
mysqli_result()
n'est pas une fonction. Je ne suis vraiment pas clair ce que ce morceau de code est en train de faire, mais mysqli_result()
n'existe pas en PHP.
OriginalL'auteur MPStimpson | 2015-06-23
Vous devez vous connecter pour publier un commentaire.
Tout d'abord, vous avez déclaré $db en dehors de la fonction. Si vous souhaitez utiliser à l'intérieur de la fonction, vous devez vous placer au début de votre code de fonction:
Et je suppose que, quand vous avez écrit:
ce que vous voulais, c'était:
Oui, votre requête SQL retourne toujours 1 ligne, 1 champ de dire le nombre d'utilisateurs est égal à un nom d'utilisateur. Changement de
"SELECT * FROM users WHERE UserName = '$username'"
et il fonctionneraJ'ai compris, mais je vous remercie beaucoup! Vous avez été très utile! C'est ce que je reçois pour aveuglément à la suite de tutoriels
OriginalL'auteur Juan Carlos Alvez Balbastro
mettre cette ligne dans le parent de construire : $this->load->base de données();
de cette façon.. il devrait fonctionner..
OriginalL'auteur john paul ouseph benedicta