Page 1 sur 1

base de données mysql php

Posté : 14 mars 2019, 13:42
par yousss77
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

Re: base de données mysql php

Posté : 14 mars 2019, 14:41
par Spols
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 ?

Re: base de données mysql php

Posté : 14 mars 2019, 19:23
par yousss77
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