Vérifier si une entrée à insérer existe déjà dans la base [php/sql] - PHP - Programmation
Marsh Posté le 28-05-2005 à 14:54:50
ben un select ou le champ ou tu mets mot1 est égal à mot1.
Mais juste pour info, t'es dans la rubrique php, c'est un problème sql que tu as
Marsh Posté le 28-05-2005 à 15:17:59
Pas forcément problème SQL c'est couplé à du PHP
Merci pour ta réponse, mais j'ai déjà essayé ..
J'ai essayé ceci aussi :
Code :
|
En faisant une requete de select ou mot1 = $_POST['mot1'] mais il n'y a pas de réaction du script, les données sont quand même entrées
Quelqu'un a une idée ?
Merci
Marsh Posté le 28-05-2005 à 15:38:24
Bah dans ta table, tu mets ton champs contenant 'mot1' en unique
Marsh Posté le 28-05-2005 à 15:39:49
Je vois pas d'autre moyen de faire une requete identique à ce que tu veux insérer.
Marsh Posté le 28-05-2005 à 16:10:22
yoyo354 a écrit : Montre nous la requête et le résultat de celle-ci. |
Code :
|
Bin je ne connais pas son résultat, j'ai l'impression qu'il n'y a rien qui se passe .. Je vous C/C toute la partie du code en question :
Code :
|
Vous pouvez voir ce que ça donne ici : http://www.aidoforum.com/traducteur-sms.php
Merci
GasPaRD77 : unique ou primaire ?
Marsh Posté le 28-05-2005 à 16:11:22
Teste aussi le retour de mysql_query au cas où il y ait un problème de connexion ou que la requète est erronée (retour FALSE en cas d'échec).
Marsh Posté le 28-05-2005 à 16:17:17
Tentacle : Comment ( je débute pas mal en Php ) un echo ?
Comment faire un retour false ?
Gaspard : Impossible de la mettre en unique, il me trouve des duplicate entry de partout .. Il doit prendre des bouts de mots , deux lettres, et voir que ces deux lettres sont présentes dans un autre mot, non ?
Marsh Posté le 28-05-2005 à 16:47:05
oui ... en tout cas pour le moment :
du genre
|
De toute façon ta méthode ne marchera pas dans tout les cas et il serait peut-être plus judicieux de trouver un moyen de déclarer ce champ comme unique. Ensuite après une insertion, tu peux utiliser mysql_affected_rows pour savoir si le mot a été inséré ou non (ce qui pourrait dire qu'il existait déjà)
Marsh Posté le 28-05-2005 à 16:48:57
Le idConnexion est déjà vérifié dans un common.php
C'est surtout la requête que je devrais vérifier non ?
Erf, je me sens perdu la ..
Marsh Posté le 28-05-2005 à 16:50:17
pouzy a écrit : Tentacle : Comment ( je débute pas mal en Php ) un echo ? |
Bah non, une unicité c'est une unicité sur tout le mot, pas juste sur une partie, t'imagine une clé numérique qui ne pourrait pas aller plus loin que 0..9 ?
Sinon, puisque ton champs a l'air d'être un mot, colle le entre ' dans la requête
Marsh Posté le 28-05-2005 à 16:51:32
oui alors au cas où.
Qu'est que tu as fais pour essayer la proposition de Gaspard ? Ca devrait fonction normalement. (il faut que les entrées soient identiques, et non juste des parties)
Marsh Posté le 28-05-2005 à 16:54:32
Erf, je suis blamâble : faute de frappe ... j'avais oublié un "s" a mysql_num_rows .. Merci à tous, ça a l'air de fonctionner
Marsh Posté le 28-05-2005 à 18:17:25
Tu aurais dû mettre unique à la creation de ta table, et comme ça tu aurais été sûr de ne pas avoir 2 fois la même entrée
Marsh Posté le 28-05-2005 à 14:34:27
Bonjour à tous !
J'ai un petit script avec deux champs : un "mot1" et un "mot2"
J'ai fait un formulaire pour que les visiteurs puissent envoyer "mot1" et "mot2" via $_POST['mot1'] et $_POST['mot2']
Maintenant, j'ai un problème :
Comment puis-je faire pour savoir si le mot1 entré est déjà dans la base ? ( pas besoin de savoir pour le mot2, il peut y avoir des duplicatas, ce n'est pa^s un problème ) mais pour le mot1 c'est important
Merci !
---------------
Hello hello super jello