Vérifier la base de données SQL si la valeur existe et puis le retour de la valeur si elle n'
Je suis assez nouveau à la fois php et SQL. J'ai une page de connexion où je demande pour les utilisateurs nom d'utilisateur et mot de passe. Je voudrais pour rechercher une base de données que j'ai créé pour à la fois le nom d'utilisateur et mot de passe pour voir si elles existent. La base de données tableau a deux colonnes, le nom d'utilisateur et Mot de passe. Je ne se soucient pas beaucoup sur la sécurité, donc un simple script fonctionne. Mais je ne veux pas être en mesure d'étendre un jour, donc, à cet effet, je suis en utilisant une base de données, parce qu'actuellement, je viens d'utiliser un array en php pour stocker les noms d'utilisateur et mots de passe.
Je suis en train d'essayer d'obtenir ce code fonctionne, mais je ne suis pas d'obtenir les résultats dont j'ai besoin.
$user_name = "db_username";
$password = "db_password";
$database = "db_name";
$server = "db_server";
$db_handle = mysql_connect($server, $user_name, $password);
$db_found = mysql_select_db($database, $db_handle);
if ($db_found) {
$result =mysql_query("SELECT 1 FROM my_table WHERE Username = $username");
if ($result>0)
{
echo 'Username and Password Found';
}
else
{
echo 'Username and Password NOT Found';
}
}
else {
print "Database NOT Found.";
mysql_close($db_handle);
}
Cela renvoie toujours Username and Password Found
soit le nom d'utilisateur est là ou pas. Lors de l'impression $result
- je obtenir Resource id #2
. Merci
Désolé, je ne pourrais pas le tester jusqu'à ce matin. Merci beaucoup. J'ai eu à ajouter des apostrophes autour de l' $username variable, mais dans les autres cas, il fonctionne très bien. Merci beaucoup.
Content d'avoir pu aider! Je vais ajouter des apostrophes et des backticks à ma réponse pour les futurs lecteurs.
OriginalL'auteur Jamie Fritz | 2011-11-11
Vous devez vous connecter pour publier un commentaire.
$résultat, je pense évaluera à vrai même si le jeu de résultats contient aucune ligne. Il ne retourne un booléen false en cas d'erreur selon le manuel. Utiliser mysql_num_rows pour déterminer si vous avez réellement trouvé quoi que ce soit à la requête.
EDIT:
Bien sûr, dès maintenant (en novembre 2013 et depuis longtemps), le mysql_* fonctions ont en effet été désapprouvée. Apparemment, vous pouvez maintenant utiliser les mêmes mysqli_* fonctions (peut-être juste utiliser la fonction rechercher/remplacer), mais la plupart des gens sont à l'aide de l'AOP.
OriginalL'auteur Buttle Butkus
Essayez ceci pour votre SQL:
Remarque: Vous devez envisager d'utiliser AOP.
Vous avez raison, j'ai lu la dépréciation du message et de la pensée, il se réfère à l'ensemble de la mysql_* la bibliothèque. Mis à jour le post.
OriginalL'auteur Mike Purcell
OriginalL'auteur user3429291