Pb d'insertion de données en base

webmestre PLS Messages postés 8 Date d'inscription   Statut Membre Dernière intervention   -  
 le père -
Bonjour,


Je cherche à insérer compléer une requête sql INSERT existante pour insérer des données dans une base.

La requête initiale fonctionne sans pb, mais quand j'ajoute des champs et des values, il ne se passe... rien de plus : impossible d'insérer ces nouvelles valeurs.

Je ne comprends vraiment pas d'où vient le problème...

Voici la requête initiale :
...
$query_sz="SELECT bo_id,bo_champ1 FROM ewb_boutique WHERE bo_re_id=$gl_recipient_int";
$hcure =sql_query( $DBtype_sz, $query_sz,$connect_re);
$row_tab=sql_fetch_row($DBtype_sz,$hcure);
$id_article=$row_tab[0];
$result_nom_article=$row_tab[1];


if($id_article!="" && $id_article>0){
$query_sz="SELECT * FROM ewb_contact WHERE co_numint1=14 AND co_numint3=$id_article";
$hcure =sql_query( $DBtype_sz, $query_sz,$connect_re);
$nb_visites=sql_num_row($DBtype_sz,$hcure);

if($nb_visites==0){
$numint_visites=14;
$query_sz="INSERT INTO ewb_contact (co_champ1,co_numint1,co_numint2,co_numint3,co_date1,co_date2,co_datecrea) VALUES ('".addslashes($result_nom_article)."','$numint_visites','1','$id_article',CURDATE(),CURDATE(),CURDATE()) ";
$hcure =sql_query( $DBtype_sz, $query_sz,$connect_re);
}else{
//$query_sz="UPDATE ewb_contact SET co_numint2=co_numint2+1 WHERE co_numint1=14 AND co_numint3=$id_article";
$query_sz="UPDATE ewb_contact SET co_numint2=co_numint2,co_date2=CURDATE() WHERE co_numint1=14 AND co_numint3=$id_article";
$hcure =sql_query( $DBtype_sz, $query_sz,$connect_re);
}
$nb_visites++;
}
...

Et voici ma requête complétée :
$query_sz="SELECT bo_id,bo_champ1,bo_champ16,bo_numint2 FROM ewb_boutique WHERE bo_re_id=$gl_recipient_int";
$hcure =sql_query( $DBtype_sz, $query_sz,$connect_re);
$row_tab=sql_fetch_row($DBtype_sz,$hcure);
$id_article=$row_tab[0];
$result_nom_article=$row_tab[1];
$result_revue_source=$row_tab[2];
$result_numero_revue_source=$row_tab[3];


if($id_article!="" && $id_article>0){
$query_sz="SELECT * FROM ewb_contact WHERE co_numint1=14 AND co_numint3=$id_article";
$hcure =sql_query( $DBtype_sz, $query_sz,$connect_re);
$nb_visites=sql_num_row($DBtype_sz,$hcure);

if($nb_visites==0){
$numint_visites=14;
$query_sz="INSERT INTO ewb_contact (co_champ1,co_champ2,co_champ3,co_numint1,co_numint2,co_numint3,co_date1,co_date2,co_datecrea) VALUES ('".addslashes($result_nom_article)."','$result_revue_source','$result_numero_revue_source','$numint_visites','1','$id_article',CURDATE(),CURDATE(),CURDATE()) ";

$hcure =sql_query( $DBtype_sz, $query_sz,$connect_re);
}else{
//$query_sz="UPDATE ewb_contact SET co_numint2=co_numint2+1 WHERE co_numint1=14 AND co_numint3=$id_article";
$query_sz="UPDATE ewb_contact SET co_numint2=co_numint2,co_date2=CURDATE() WHERE co_numint1=14 AND co_numint3=$id_article";
$hcure =sql_query( $DBtype_sz, $query_sz,$connect_re);
}
$nb_visites++;
}


Bref, je n'arrive pas à insérer les variables $result_revue_source et $result_numero_revue_source, pourtant bien définies...

Merci d'avance de votre aide !
A voir également:

5 réponses

damien-igps Messages postés 56 Date d'inscription   Statut Membre Dernière intervention   1
 
est ce que tu a le nombre de champ exact dans ta base de donnée ?
0
webmestre PLS Messages postés 8 Date d'inscription   Statut Membre Dernière intervention  
 
Voilà le nombre de champs de la table ewb_contact :
$nb_champ_texte = 41;
$nb_champ_grdtexte = 3;
$nb_champ_numint = 5;
$nb_champ_numdbl = 2;
$nb_champ_date = 3;
$nb_champ_datecrea = 1;

Cette base regroupe plusieurs tables, identifiées par le champ $numint

La liste qui m'intéresse se compose comme suit :


$lib_champ1="Titre de l'article";
$lib_champ2="revue" ;
$lib_champ3="numero" ;
$lib_champ4="off" ;
$lib_champ5="off" ;
$lib_champ6="off" ;
$lib_champ7="off" ;
$lib_champ8="off" ;
$lib_champ9="off";
$lib_champ10="off";
$lib_champ11="off";
$lib_champ12="off";
$lib_champ13="off";
$lib_champ14="off";
$lib_champ15="off";
$lib_champ16="off";
$lib_champ17="off";
$lib_champ18="off";
$lib_champ19="off";
$lib_champ20="off";
// champs "text"
$lib_grdtexte1="off";
$lib_grdtexte2="off";
$lib_grdtexte3="off";
// champs "integer" : si bouton radio, indiquer : "label|labelvaleur0|labelvaleur1"
$lib_numint1="off";
$lib_numint2="Nombre de visites";
$lib_numint3="ID de l'article";
$lib_numint4="off";
$lib_numint5="off";
// champs "double"
$lib_numdbl1="off";
$lib_numdbl2="off";
// champs "date"
$lib_date1="Date de la premiere visite";
$lib_date2="Date de la derniere visite";

//libellÈ pour la date de crÈation
$lib_datecrea="CrÈÈ le";


// champs "integer" : si bouton radio, indiquer les valeurs possibles sÈparÈes par |
// Exemple : $vals_possibles_numint1="Libelle pour 0|Libelle pour 1|Libelle pour 2";
$vals_possibles_numint1="";
$vals_possibles_numint2="";
$vals_possibles_numint3="";
$vals_possibles_numint4="";
$vals_possibles_numint5="";

Avec ma requête, j'essaie - sans succès - de remplir les champs champ2 et champ3...
0
damien-igps Messages postés 56 Date d'inscription   Statut Membre Dernière intervention   1
 
comment savoir quelle est le php.ini qui est prit en compte ?
0
webmestre PLS Messages postés 8 Date d'inscription   Statut Membre Dernière intervention  
 
Hem. En français, ça done quoi ? Désolé, je débute !
Mais je ne vois pas quel rôle joue le php.ini ?
0
webmestre PLS Messages postés 8 Date d'inscription   Statut Membre Dernière intervention  
 
Bon, j'ai le php.ini sous la main, mais c'est un fichier énorme.
que faut-il que je regarde ?
0
damien-igps Messages postés 56 Date d'inscription   Statut Membre Dernière intervention   1
 
desolé je me suis trompé de forum ^^desoler
0
webmestre PLS Messages postés 8 Date d'inscription   Statut Membre Dernière intervention  
 
Pas de pb... : (
0

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

Posez votre question
le père
 
Bonjour

petite remarque pour commencer : si ton co_champ2 est un texte comme il me semble, tu devrais échapper les apostrophes par un addslashes dans ton INSERT, comme tu le fais déjà pour ,co_champ2

Mais tant que tu ne mets pas de noms de revue avec apostrophes, ça n'est pas ça la cause de ton poblème.
Je ne vois aucune erreur évidente. Quand tu dis que tu n'arrives pas à insérer les variables, qu'est-ce qu'il faut comprendre ? Que tout se passe bien mais que les champs restent vides dans la table ? que tu as un message d'erreur ?

les champs bo_champ16,bo_numint2 sont-ils bien renseignés dans ta table de départ ?
Peux-tu voir les valeurs récupérées en faisant echo $result_revue_source; et echo $result_numero_revue_source;
les deux parties du code : celle où tu extrais les variables $result_revue_source et $result_numero_revue_source et celle où tu fais le INSERT sont-elles bien dans la même fonction ? (ou en dehors de toute fonction ) Si ce n'est pas le cas, il ne faut pas oublier de déclarer les variables "global"
0