Recherche l'existance d'une valeur dans une table
- Accueil
- Forum
- Programmation
- PHP
- Recherche l'existance d'une valeur dans une table
damboutheo Le 28 avril 2020 Ă 12:58 (ĂditĂ© le 1 janvier 1970 Ă 01:00)
Bonjour,
Besoin d'aide svp. Je veux verifier l'existence d'une valeur dans une table afin d'afficher s'il existe ou pas. Voici mon code mais il ne renvoie aucune reponse ni une erreur:
`require(database.php);
if(!empty($_POST)){
extract($_POST);
$valid = false;
$numcompte = htmlspecialchars(trim($numcompte));
$req = $statement->query('Select numcompte from user where numcompte = :numcompte', array('numcompte' => $numcompte));
$req = $req->fetch();
if(!empty($numcompte) && $req['numcompte']){
$valid = true;
$_SESSION['flash']['danger'] = "Ce compte n'existe pas! veuillez le creer";
}
}
?>`
Si quelqu'un a un exemple simple qu'il me le montre svp
PrimFX Le 20 mai 2020 Ă 12:18 (ĂditĂ© le 20 mai 2020 Ă 12:19)
Hello @damboutheo,
Le fait qu'aucun retour ne soit affichĂ© vient du fait que tu essaies de mixer une requĂȘte query
(non prĂ©parĂ©e) avec des paramĂštres propres Ă une requĂȘte prepare
(préparée).
Voici comment rectifier ton code pour que la requĂȘte fonctionne :
$numcompte = htmlspecialchars(trim($numcompte));
if (!empty($numcompte)) {
$req = $statement->prepare('SELECT numcompte FROM user WHERE numcompte = :numcompte');
$req->execute(array('numcompte' => $numcompte));
$req = $req->fetch();
if (!$req['numcompte']) {
$valid = true;
$_SESSION['flash']['danger'] = "Ce compte n'existe pas! veuillez le creer";
}
}
Ensuite, pour avoir une syntaxe un poil plus concise pour vérifier l'existence, il existe une petite technique qui consiste à utiliser SELECT 1 ...
qui permettra Ă ta requĂȘte de renvoyer soit 1
soit false
selon qu'un rĂ©sultat a Ă©tĂ© trouvĂ© ou non pour ta requĂȘte (testant ainsi l'existance de donnĂ©es) :
$numcompte = htmlspecialchars(trim($numcompte));
if (!empty($numcompte)) {
$req = $statement->prepare('SELECT 1 FROM user WHERE numcompte = :numcompte');
$req->execute(array('numcompte' => $numcompte));
if (!$req->fetchColumn()) {
$valid = true;
$_SESSION['flash']['danger'] = "Ce compte n'existe pas! veuillez le creer";
}
}
En espĂ©rant avoir pu t'aider 😉
A bientĂŽt,
Boris
EnderMC Le 21 mai 2020 Ă 16:29 (ĂditĂ© le 29 mai 2020 Ă 10:30)
Hello @damboutheo,
Sinon tu peux aussi faire un rowCount()
. En gros ça compte les colonnes de la table sélectionnée
Exemple :
$variable = rowCount();
// Si ça n'existe pas
if($variable == 0){
$valid = true;
$_SESSION['flash']['danger'] = "Ce compte n'existe pas! veuillez le creer";
} else {
// Ton code PHP si ça existe
}