base de données mysql php

Eléphanteau du PHP | 24 Messages

14 mars 2019, 13:42

Bonjour, j'ai un petit souci sur ce qui parait être une requête simple,

alors, quand je retire la colonne role et la colonne id tout fonctionne bien raison pour laquelle je n'ai pas copier coller le fichier contrôller et le fichier vue,
donc le problème vient de la méthode getUsers,
mais je n'ai aucune idée d'ou cela peut provenir même en ayant bien cherché,

pouvez-vous m'aidez s'il vous plait.

cordialement.
 Users {

public function getUsers($login, $pass) {
$mysqli = new mysqli('localhost', 'Yousss77', '********', 'projet_images');
$mysqli->set_charset("utf8");
if ($mysqli->connect_errno) {
echo 'Il y\'à une erreur de connexion : ' .$mysqli->connect_error. ' !';
exit();
} 
$result = $mysqli->query('SELECT COUNT(u.id), u.id, u.login, u.password, u.role FROM users AS u WHERE login = "'.$login.'" AND password = "'.md5($pass).'"');
if (!$result) {

$msg_error = 'Erreur lors de la récuperation des identifiants !' .$mysqli->error;
} else {
$row = $result->fetch_array();
$userData['count'] = $row['COUNT(u.id)'];
$userData['id'] = $row['id']; // problème avec champ id
$userData['login'] = $row['login'];
$userData['password'] = $row['password'];
$userData['role'] = $row['role']; // problème avec champ role
return $userData; // retour correct sans id et role mais message erreur avec ces derniers
}
$mysqli->close();
return $msg_error;
}

}
le message d'erreur :

string(89) "Erreur lors de la récuperation des identifiants !Unknown column 'u.role' in 'field list'"
Warning: Illegal string offset 'count' in

Mammouth du PHP | 1533 Messages

14 mars 2019, 14:41

vérifie que tu as bien une colonne role sur ta table users.

chex aussi tes requètes sur phpmyadmin c'est plus simple de débuger.

PS un COUNT sans clause GROUP BY te retournera le nombre total de ligne, est-ce bien ce que tu cherche ?
Spols
pour les fan de rubik's cube ou pour les curieux ==> le portail francophone de rubik's cube
Ingénieur Industriel Chimie / Biochimie

Eléphanteau du PHP | 24 Messages

14 mars 2019, 19:23

Oui, en faite avec le COUNT c'est pour savoir si il y'à des lignes dans la colonne id, je le teste avec si COUNT(id) est inférieur à 1 alors... oui en quelques sortes je vérifie le nombre de lignes de la colonne id.

ET surtout j'ai bien une colonne role avec à chaque ligne une valeur à 0 que j'insère moi même avec le fichier controller