Un petit probleme de caractere \

cs_jsuisperdu Messages postés 6 Date d'inscription jeudi 14 septembre 2006 Statut Membre Dernière intervention 29 juin 2007 - 3 oct. 2006 à 14:04
huberdine Messages postés 158 Date d'inscription samedi 8 février 2003 Statut Membre Dernière intervention 17 juin 2010 - 3 oct. 2006 à 18:22
bonjour,

aprés plusieurs modifs de mon site et je l'avoue quelques oublis de addslashes, certaines cellules de ma base contiennent  le fameux caractere ascii 92 \.
je souhaiterai pouvoir nettoyer cette base afin de supprimer le caractère \ se trouvant régulièrement devant les apostrophes.
j'ai essayé via une requête sql  de les identifier à la mano mais sql n'arrive pas à les récupérer.

ma question est donc : quelqu'un aurait il une petite mani php me permettant de nettoyer cette base.

d'avance merci.

6 réponses

huberdine Messages postés 158 Date d'inscription samedi 8 février 2003 Statut Membre Dernière intervention 17 juin 2010
3 oct. 2006 à 16:58
stripslashes ??
0
cs_jsuisperdu Messages postés 6 Date d'inscription jeudi 14 septembre 2006 Statut Membre Dernière intervention 29 juin 2007
3 oct. 2006 à 18:02
j'y avais pensé mais le problême est que le stripslashes est une commande d'affichage. il ne peut pas être intégré dans une requête mysql...
0
huberdine Messages postés 158 Date d'inscription samedi 8 février 2003 Statut Membre Dernière intervention 17 juin 2010
3 oct. 2006 à 18:13
tu peux faire un script qui parcours automatiquement toutes tes tables de ta base de données et pour chaque enregistrement récupère la valeur, la mouline dans stripslash et la ré-enregistre.
0
huberdine Messages postés 158 Date d'inscription samedi 8 février 2003 Statut Membre Dernière intervention 17 juin 2010
3 oct. 2006 à 18:16
La commande mysql
SHOW TABLES
permet de récupérer la liste des tables;
ma commande
SHOW COLUMNS FROM `matable`
permet de récupérer les colonnes de ta table
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
huberdine Messages postés 158 Date d'inscription samedi 8 février 2003 Statut Membre Dernière intervention 17 juin 2010
3 oct. 2006 à 18:19
Aller, je t'aide un peu :

function liste_tables()
{
include("variables.php");
$retour=array();
$requete = "SHOW TABLES ";
$resultat=mysql_db_query(SQL_BASE,$requete,$bp);
$i=0;
while($tmp=mysql_fetch_array($resultat))
{
$retour[$i]=$tmp[0];
$i++;
}
return $retour;
}

function liste_champs($table)
{
include("variables.php");
$retour=array();
$requete = "SHOW COLUMNS FROM `$table` ";
$resultat=mysql_db_query(SQL_BASE,$requete,$bp);
$i=0;
while($tmp=mysql_fetch_array($resultat))
{
$retour[$i]=$tmp[0];
$i++;
}
return $retour;
}

le fichier "variables .php" :
define("SQL_SERVEUR","localhost");
define("SQL_LOGIN","monogin");
define("SQL_MDP","monmotdepasse");
define("SQL_BASE","mabasededonnees");
$bp=mysql_connect(SQL_SERVEUR,SQL_LOGIN,SQL_MDP);
0
huberdine Messages postés 158 Date d'inscription samedi 8 février 2003 Statut Membre Dernière intervention 17 juin 2010
3 oct. 2006 à 18:22
il ne reste plus qu'à contruire une boucle qui en ayant récupéré les champs de chaque table va chercher tous les enregistrements, y applique un stripslashes() et réenregistre tout.
0
Rejoignez-nous