Insertion dans la base de données
Résolu/Fermé
foufita
Messages postés
68
Date d'inscription
mercredi 29 août 2007
Statut
Membre
Dernière intervention
10 mars 2014
-
1 sept. 2007 à 12:19
Alain42 - 3 sept. 2007 à 15:32
Alain42 - 3 sept. 2007 à 15:32
A voir également:
- Insertion dans la base de données
- La zone de données passée à un appel système est insuffisante - Windows 11
- Insertion liste déroulante excel - Guide
- Formules excel de base - Guide
- Insertion sommaire word - Guide
- Tnt base de données vide - Forum TNT / Satellite / Réception
3 réponses
Salut,
Si ta valeur provient d'un formulaire, ne passes pas par la fonction stripslashes, il faut laisser l'échapement \ que php mets devant les ' pour éviter justement ce genre de pb.
Sinon mets nous le texte de ta requette
Si ta valeur provient d'un formulaire, ne passes pas par la fonction stripslashes, il faut laisser l'échapement \ que php mets devant les ' pour éviter justement ce genre de pb.
Sinon mets nous le texte de ta requette
S@lut,
est ce qu'il ya une fonction js qui remplace le ' par \' ?
OUI c'est addslashes(........)
Ta requette est bizarre
$req="insert into `actualites` (`titre_act_fr`,`date_act`,`texte_act_fr`,`photo`,`titre_act_ang`,`texte_act_ang`)
values (".$C_valeurs.")";
Je mettrai plutot:
et otes les ' pour la table et les champs, en plus tes ' sont penchés a l'envers tu as du faire un copier/ coller d'une commande SQL, tapes les plutot au clavier
et mets les INSERT etc en majuscules c'est plus facile à lire donc a debugger.
Une autre suggestion: tu concatènes $C_valeurs pour avoir tous tes champs, mais es tu sure d'avoir les champs dans le bon ordre.
Tu aurais pu parcourir ton $tab et par if(substr($k,0,nombre_lettres_champ)=="nom_du_champ_act_fr") { $tab2[act_fr']=$v;}
etc.. et dans VALUES('".$tab2['act_fr']."','".$tab2['date_act']."', etc....)
est ce qu'il ya une fonction js qui remplace le ' par \' ?
OUI c'est addslashes(........)
Ta requette est bizarre
$req="insert into `actualites` (`titre_act_fr`,`date_act`,`texte_act_fr`,`photo`,`titre_act_ang`,`texte_act_ang`)
values (".$C_valeurs.")";
Je mettrai plutot:
$req="INSERT INTO actualites (titre_act_fr,date_act,texte_act_fr,photo,titre_act_ang,texte_act_ang) VALUES (".$C_valeurs.")";
et otes les ' pour la table et les champs, en plus tes ' sont penchés a l'envers tu as du faire un copier/ coller d'une commande SQL, tapes les plutot au clavier
et mets les INSERT etc en majuscules c'est plus facile à lire donc a debugger.
Une autre suggestion: tu concatènes $C_valeurs pour avoir tous tes champs, mais es tu sure d'avoir les champs dans le bon ordre.
Tu aurais pu parcourir ton $tab et par if(substr($k,0,nombre_lettres_champ)=="nom_du_champ_act_fr") { $tab2[act_fr']=$v;}
etc.. et dans VALUES('".$tab2['act_fr']."','".$tab2['date_act']."', etc....)
foufita
Messages postés
68
Date d'inscription
mercredi 29 août 2007
Statut
Membre
Dernière intervention
10 mars 2014
8
3 sept. 2007 à 09:36
3 sept. 2007 à 09:36
ma requete fonctionne tres bien l'orsque le formulaire ne contient pas '
c'est la requete:
function nouvelleActualites ($tab){
$C_valeurs="";
$date=$tab['année'].'-'.$tab['mois'].'-'.$tab['jour'];
$tab['titre-fr'].='\','.'\''.$date.'';
foreach ($tab as $k=> $v)
{
if(($k!="submit")&&($k!="mois")&&($k!="année")&&($k!="jour")&& ($k!="aj_x") && ($k!="aj_y"))
$C_valeurs.="'".$v."',";
}
$C_valeurs=substr($C_valeurs,0,-1);
//echo $C_valeurs;
$req="insert into `actualites` (`titre_act_fr`,`date_act`,`texte_act_fr`,`photo`,`titre_act_ang`,`texte_act_ang`)
values (".$C_valeurs.")";
//echo $req;
$res=mysql_query($req) or die ('erreur sql'.mysql_error());
echo Redirection ("actualite.php");
}
est ce qu'il ya une fonction js qui remplace le ' par \' ?
merci beaucoup Alain
c'est la requete:
function nouvelleActualites ($tab){
$C_valeurs="";
$date=$tab['année'].'-'.$tab['mois'].'-'.$tab['jour'];
$tab['titre-fr'].='\','.'\''.$date.'';
foreach ($tab as $k=> $v)
{
if(($k!="submit")&&($k!="mois")&&($k!="année")&&($k!="jour")&& ($k!="aj_x") && ($k!="aj_y"))
$C_valeurs.="'".$v."',";
}
$C_valeurs=substr($C_valeurs,0,-1);
//echo $C_valeurs;
$req="insert into `actualites` (`titre_act_fr`,`date_act`,`texte_act_fr`,`photo`,`titre_act_ang`,`texte_act_ang`)
values (".$C_valeurs.")";
//echo $req;
$res=mysql_query($req) or die ('erreur sql'.mysql_error());
echo Redirection ("actualite.php");
}
est ce qu'il ya une fonction js qui remplace le ' par \' ?
merci beaucoup Alain