probleme de ' ou de " dans une chaine en php
5 messages
• Page 1 sur 1
- cr500
- WRInaute occasionnel

- Messages: 315
- Inscription: 13 Oct 2004
probleme de ' ou de " dans une chaine en php
bjr à tous
voulà bientot longtemsp que je n'ai plus touché à un bout de php
j'essais actuellement d'enregistrer des variables dans une table
mais cela ne mrche pas
je pense à un pb de ' ou de "
pouvez vous m'aider svp
merci
voulà bientot longtemsp que je n'ai plus touché à un bout de php
j'essais actuellement d'enregistrer des variables dans une table
- Code: Tout sélectionner
$sql = " INSERT INTO `user` (`id`,`iduser`,`activation`,`ddate`,`mdate,`ydate`, `ip_adresse`,`email`,`password`,`nom`,`prenom`, `adresse`,`codepostal`,`ville`,`pays`,`jour`,`mois`, `annee`,`titresite`,`url`)
VALUES ('',$iduser,0,$ddate,$mdate,$ydate,$ip_adresse,$email,$password, $nom,$prenom,$adresse,$codepostal,$ville,$pays,$jour,$mois, $annee,$titresite,$url)";
$result = mysql_query($sql);
mais cela ne mrche pas
je pense à un pb de ' ou de "
pouvez vous m'aider svp
merci
- shrom
- WRInaute impliqué

- Messages: 865
- Inscription: 5 Juil 2004
Re: probleme de ' ou de " dasn une chaine en php
- Code: Tout sélectionner
$sql = "
INSERT INTO user
(
id ,
iduser,
activation,
ddate,
mdate,
ydate,
ip_adresse,
email,
password,
nom,
prenom,
adresse,
codepostal,
ville,
pays,
jour,
mois,
annee,
titresite,
url
)
VALUES
(
'',
mysql_real_escape_string( $iduser ),
0,
mysql_real_escape_string( $ddate ),
mysql_real_escape_string( $mdate ),
mysql_real_escape_string( $ydate ),
mysql_real_escape_string( $ip_adresse ),
mysql_real_escape_string( $email ),
mysql_real_escape_string( $password ),
mysql_real_escape_string( $nom ),
mysql_real_escape_string( $prenom ),
mysql_real_escape_string( $adresse ),
mysql_real_escape_string( $codepostal ),
mysql_real_escape_string( $ville ),
mysql_real_escape_string( $pays ),
mysql_real_escape_string( $jour ),
mysql_real_escape_string( $mois ),
mysql_real_escape_string( $annee ),
mysql_real_escape_string( $titresite ),
mysql_real_escape_string( $url )
)
";
if( ! $result = mysql_query($sql) ) {
trigger_error( E_USER_ERROR, mysql_error() );
}
PS1: j'ai mis mysql_real_escape_string sur tous les champs car je ne sais pas lesquels sont des champs texte et lesquels sont numériques.
PS2: le champs id est autoincrémenté je pense, on peut donc le virer.
PS3: id et iduser me semblent redondants
PS4: si le champs activation doit toujours être à 0 lors d'une insertion, le déclarer comme NOT NULL avec une valeur par défaut de 0, tu peux alors le virer de la requête
PS5: il y a un type DATE dans mysql
-

spout - WRInaute accro

- Messages: 4382
- Inscription: 14 Mai 2003
Déjà, si t'as autant de champs a inscrire, je ne te conseille pas cette "syntaxe" pour les insert.
Je trouve que c'est plus simple à modifier dans le futur:
Là tu ne dois pas te soucier de respecter l'ordre
Il te manque un "backtick" après mdate.
Je trouve que c'est plus simple à modifier dans le futur:
- Code: Tout sélectionner
INSERT INTO table SET champ1=valeur1,champ2=valeur2
Là tu ne dois pas te soucier de respecter l'ordre
Il te manque un "backtick" après mdate.
- shrom
- WRInaute impliqué

- Messages: 865
- Inscription: 5 Juil 2004
spoutnik a écrit:Je trouve que c'est plus simple à modifier dans le futur:
- Code: Tout sélectionner
INSERT INTO table SET champ1=valeur1,champ2=valeur2
Et complètement pas portable, c'est une syntaxe 100% mysql. En plus de devoir remplacer les mysql_xxx ( puisqu'aucune couche d'abstraction n'est utilisée ), il faudra aussi revoir tous les INSERT en cas de changement de SGBD ou si MySQL décide d'abandonner cette syntaxe.
5 messages
• Page 1 sur 1
Lectures recommandées sur ce thème :
- Probleme assez chaud de gestion de chaine en PHP
- [php] enlever une partie de chaine d'une chaine complete
- PHP HTML : problème nouvelle ligne Remplacement par "rn"
- [ resolu ] remplacer dans une chaine "d'" par &quo
- regexp pour "tout sauf CETTE chaîne"
- Nombre de "-" dans une chaine de caracteres
- Compression "page speed" like à la chaine
- Intérêt d'une "chaîne de confiance"
- Suppression de "é" dans une chaine.
- "Constante chaîne non terminée" introuvable !!!!!
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités
