12
votes

Mysql "où" et "ou" déclaration "

J'ai commencé à travailler sur une requête MySQL Abut, elle continue à venir avec une erreur?

Quelqu'un peut-il regarder et me dire ce que je vais mal? xxx

L'erreur est xxx

ce qui signifie qu'il n'a trouvé personne. Cela signifie que ma requête est fausse?


2 commentaires

Montrant que le SQL ne suffit pas pour résoudre une erreur PHP.


Pouvez-vous mettre une chaîne d'erreur ici? mysql_error () renvoie l'erreur.


3 Réponses :


3
votes

Essayez cette requête:

select * from `users` 
where 
(`username`='$username' or `username `='$email') and `password`='$password'


1 commentaires

Je pense que vous devez ajouter des parenthèses à regrouper la clause ou , de sorte qu'elle sera évaluée avant le et un



24
votes

Le ... ou sélectionnez ... donne l'erreur. Je pense que vous essayez d'écrire cela comme: xxx


4 commentaires

Je crois que `$ nom d'utilisateur` devrait également être `nom d'utilisateur`


J'assume '$ nom d'utilisateur' est une variable PHP


Vous êtes les bienvenus - j'apprécierai également un uppote et accepter la réponse ;;)


@mac yer il était et @tudor Constantin yer Il s'agit d'un formulaire de soumission qui permettra à l'utilisateur de se connecter à mon site Web avec son nom d'utilisateur ou son email



1
votes

fonctionne!

SELECT * FROM "users" WHERE (username = '".$username."' OR username = '".$email."') AND password = '".$password."'";


0 commentaires