Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1377 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  [MySQL-PHP] Egalité sur 2 strings qui ne fonctionne pas [résolu]

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[MySQL-PHP] Egalité sur 2 strings qui ne fonctionne pas [résolu]

n°1845739
Siron
Posté le 01-02-2009 à 10:51:33  profilanswer
 

Bonjour, je suis en train de réaliser un site web avec une base de donnée mysql 5 en utf 8 et du php codé en norme iso.
J'ai besoins de supprimer une ligne dans une table en la localisant avec un champs x varchar selon une valeur $y.
 
J'ai donc une requête du type mysql_query("DELETE FROM $table WHERE $x = '$y'" );
Le problème c'est que j'ai beau tout essayer, le matching ne se produit pas, j'ai tenté le x LIKE '$y', le x LIKE('$y'), la conversion du y en utf-8 avec utf8_encode($y) du php, et rien a faire, la base de donnée ne veut rien savoir.
 
A noter que je fais un mysql_real_escape_string() sur toute donnée entrée dans la base de donnée (et donc sur le $y également).
 
J'utilise mal le LIKE ?, dois-je passer mes fichiers .php en utf-8 ?  Si quelqu'un a une idée de ce qui provoque le blocage, il est le bienvenu.
 
Merci.
 
Siron


Message édité par Siron le 01-02-2009 à 18:28:29
mood
Publicité
Posté le 01-02-2009 à 10:51:33  profilanswer
 

n°1845767
Siron
Posté le 01-02-2009 à 11:59:54  profilanswer
 

Après d'autre essais, j'en viens a déterminer que le problème ne se déroule que sur une colonne var char.
 
En fait j'ai deux colonnes var char qui sont ensemble une primary key, la colonne A et B (toutes les 2 sont des varchar).
Quand je fais l'égalité avec A, pas de problème, mais quand j'implique B (seul ou avec A), la requête échoue systématiquement avec comme erreur un problème de syntaxe selon mysql.

n°1845820
Profil sup​primé
Posté le 01-02-2009 à 15:39:16  answer
 

fait çà :

Code :
  1. echo "DELETE FROM table WHERE x = '$y'";


Qu'est-ce qui s'affiche ? (dans ton exemple avais mis des '$' devant les noms de tables/colonnes, je suppose que c'est un exemple vite fait, pas ce que tu as réellement mis ?)
Et comment çà marche avec cette requête ?

Code :
  1. DELETE FROM TABLE WHERE x LIKE '%y%'


Message édité par Profil supprimé le 01-02-2009 à 15:39:32
n°1845855
Siron
Posté le 01-02-2009 à 18:27:37  profilanswer
 

J'avais mit des $ parce que ce sont des variables d'une méthode (variable qui seront parsées par php si il y a des "" ).  
 
En fait j'ai résolu mon problème, c'était con  :sweat: .  J'avais un nom de colonne "add", j'avais pas du tout pensé que ça pouvait être un mot réservé, et les messages d'erreur de mysql étaientt pas du tout explicites.  C'est le genre de truc qui me fait détester l'informatique, 3 heures de perdu pour ça   :cry:  
 
Je te remercie pour avoir répondu  :jap:  
 
Siron


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  [MySQL-PHP] Egalité sur 2 strings qui ne fonctionne pas [résolu]

 

Sujets relatifs
Page web inaccessible sous IE ! [Résolu]Envoyer des données d'un formulaire dans ma base MySQL
Questions sur week planner PHP/SQLTest champs base mysql
[Javascript] Erreur incompréhensible [RESOLU][RESOLU] compil avec lib pthread sous linux
[PHP] Valeur précédente dans Array[RESOLU][PowerShell 1.0]parcours et suppression de fichiers
[RESOLU] [BATCH] Lister dossier par date de creation[RESOLU] Découpage de chaine
Plus de sujets relatifs à : [MySQL-PHP] Egalité sur 2 strings qui ne fonctionne pas [résolu]


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR