Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD > PHP & MySQL
PHP & MySQL Forum d'entraide sur les fonctions MySQL avec PHP. Avant de poster -> FAQ MySQL, Cours MySQL et Sources MySQL. Pour les questions concernant le moteur MySQL plutôt que les fonctions PHP, merci d'utiliser le forum MySQL.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
Vieux 26/01/2010, 15h35   #1 (permalink)
Nouveau membre du Club
 
Date d'inscription: septembre 2008
Messages: 66
Par défaut 1 formulaire pour remplir 2 tables

Bonjour,
J'ai un formulaire qui doit à la fois remplir une table et mettre à jour la deuxième.
Pour remplir la première pas de problème, par contre ça coince dans mon UPDATE pour la deuxième table.
Voilà mon code :
Code :
mysql_connect("localhost", "root","");
mysql_select_db('***');
 
if(isset($_POST['prog_promo']))      $prog_promo=$_POST['prog_promo'];
else      $prog_promo="";
 
if(isset($_POST['prog_promo']))      $nom_site=$_POST['prog_promo'];
else      $nom_site="";
 
if(isset($_POST['date_debut_promo']))      $date_debut_promo=$_POST['date_debut_promo'];
else      $date_debut_promo="";
 
if(isset($_POST['date_fin_promo']))      $date_fin_promo=$_POST['date_fin_promo'];
else      $date_fin_promo="";
 
if(isset($_POST['texte_promo']))      $texte_promo=$_POST['texte_promo'];
else      $texte_promo="";
 
if(isset($_POST['lien_web']))      $lien_web=$_POST['lien_web'];
else      $lien_web="";
 
if(isset($_POST['promotion']))      $promotion=$_POST['promotion'];
else      $promotion="";
 
if( isset($_POST['upload']) )
{
    $content_dir = '../logos_promotion/';
 
    $tmp_file = $_FILES['logo_prog_promo']['tmp_name'];
 
    if( !is_uploaded_file($tmp_file) )
    {
        exit("Le fichier est introuvable");
    }
 
// on vérifie maintenant l'extension
    $type_file = $_FILES['logo_prog_promo']['type'];
 
    if( !strstr($type_file, 'jpg') && !strstr($type_file, 'jpeg') && !strstr($type_file, 'png') && !strstr($type_file, 'gif') )
    {
        exit("Le fichier n'est pas une image");
    }
 
// on copie le fichier dans le dossier de destination
    $logo_prog_promo = $_FILES['logo_prog_promo']['name'];
 
    if( !move_uploaded_file($tmp_file, $content_dir . $logo_prog_promo) )
    {
        exit("Impossible de copier le fichier dans $content_dir");
    }
}
 
mysql_query("SET NAMES 'utf8'");
 
$sql="INSERT INTO *** (id_site_promotion,prog_promo,logo_prog_promo,date_debut_promo,date_fin_promo,texte_promo,lien_web) 
VALUES('".mysql_real_escape_string('')."','".mysql_real_escape_string($prog_promo)."','".mysql_real_escape_string($logo_prog_promo)."','".mysql_real_escape_string($date_debut_promo)."','".mysql_real_escape_string($date_fin_promo)."','".mysql_real_escape_string($texte_promo)."','".mysql_real_escape_string($lien_web)."')";mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
 
$sql = 'UPDATE **** SET nom_site="'.$nom_site.'" WHERE id_site="'.$_POST['id_site']."';
(id_site,nom_site,logo_site,presentation_site,description_site,lien_site,copie_ecran_site,rubrique_id,visible,promotion) 
VALUES('','','','','','','','','','".mysql_real_escape_string($promotion)."')';mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
Romuald632 est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 26/01/2010, 20h58   #2 (permalink)
Membre émérite

 
Avatar de FCYPBA
 
Date d'inscription: novembre 2004
Localisation: Paris
Âge: 31
Messages: 745
Par défaut

Si tu veux que l'on t'aide sur ce problème, il va falloir nous en dire un peu plus.

Déjà, quel est le message d'erreur ??
__________________
Pierre
1. Dans le manuel ( PHP, MySQL,..., rayez la mention inutile), tu te plongeras à deux fois plutôt qu'aucune.
2. Dans la doc php, tu liras attentivement les sections Chaines de caractères, Tableaux et Système de fichiers
3. Un code rapide c'est bien, un code maintenable c'est mieux
...

Why was the font tag an orphan ? Because it didn't have a font-family.
FCYPBA est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 27/01/2010, 04h57   #3 (permalink)
Relecteur
 
Avatar de hornetbzz
 
Date d'inscription: octobre 2009
Localisation: IdF
Messages: 256
Par défaut

Tu n'as pas dû chercher bien longtemps..

Déjà, utilises un éditeur correct, au moins tu verras qu'il te manque des guillemets et que d'autres guillemets sont mal placées dans ta seconde requête.

Ensuite, vérifies ta requête: pourquoi ce point virgule en fin de cette ligne :
Code :
$sql = 'UPDATE **** SET nom_site="'.$nom_site.'" WHERE id_site="'.$_POST['id_site']."';
Enfin, un détail html, on écrit <br/> et pas <br>.

Pour moi, cela serait donc :
Code :
$sql = 'UPDATE **** SET nom_site="'.$nom_site.'" WHERE id_site="'.$_POST['id_site'].'" 
(id_site,nom_site,logo_site,presentation_site,description_site,lien_site,copie_ecran_site,rubrique_id,visible,promotion) 
VALUES('','','','','','','','','','.mysql_real_escape_string($promotion).')';
mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
hornetbzz est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 27/01/2010, 14h44   #4 (permalink)
Nouveau membre du Club
 
Date d'inscription: septembre 2008
Messages: 66
Par défaut

Bonjour;
Voilà mon message d'erreur:
Code :
Erreur SQL !UPDATE site SET nom_site="Nom" WHERE id_site="'; (id_site,nom_site,logo_site,presentation_site,description_site,lien_site,copie_ecran_site,rubrique_id,visible,promotion) VALUES('','','','','','','','','','O')
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '"'; (id_site,nom_site,logo_site,presentation_site,description_site,lien_site,co' at line 1
Je pense que le problème vient de l'id_site , mais je trouve pas
Romuald632 est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 28/01/2010, 09h32   #5 (permalink)
Nouveau membre du Club
 
Date d'inscription: septembre 2008
Messages: 66
Par défaut

Bonjour,
J'ai lu le message, j'ai supprimé le point-virgule en fin de ligne, mais rien ni fait, ça ne fonctionne pas !
Je cherche d'autres solutions, notamment en supprimant les "VALUE"
Code :
$sql = 'UPDATE site SET id_site="'.$id_site.'" promotion="'.$promotion.'" WHERE id_site="'.$_POST['id_site'].'"';
Du coup mon message d'erreur est le suivant :
Code :
Erreur SQL !UPDATE site SET id_site="" promotion="O" WHERE id_site=""
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'promotion="O" WHERE id_site=""' at line 1
Romuald632 est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 01/02/2010, 18h00   #6 (permalink)
Nouveau membre du Club
 
Date d'inscription: septembre 2008
Messages: 66
Par défaut

Rebonjour à tous, j'ai toujours mon problème pour remplir ma table et uploader l'autre
J'ai modifier mon code :
Code :
//Insertion dans la base "Promotion"
$sql="INSERT INTO promotion (id_site_promotion,site_id,date_debut_promo,date_fin_promo,texte_promo) 
VALUES('".mysql_real_escape_string('')."','".mysql_real_escape_string($site_id)."','$date_debut_promo','$date_fin_promo','".mysql_real_escape_string($texte_promo)."')";
 
//Mise à jour base "Site"
$sql = 'UPDATE site SET promotion="'.$promotion.'" WHERE id_site="'.$_POST['id_site'].'"';
mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
Maintenant j'arrive à updater ma table, mais le INSERT ne se fait plus !!!
Romuald632 est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 01/02/2010, 18h28   #7 (permalink)
Nouveau membre du Club
 
Date d'inscription: septembre 2008
Messages: 66
Par défaut

Bonjour,
J'ai supprimé les "mysql_real_escape_string..."
Romuald632 est déconnecté   Envoyer un message privé Réponse avec citation
NEWS PHPFAQ PHPCours PHPSources PHPLivres PHPScripts PHPOutils PHPComparatifsZend Framework

Réponse Proposer ce sujet en actualité

Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD > PHP & MySQL



Outils de la discussion

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are non
Pingbacks are non
Refbacks are non



Fuseau horaire GMT +1. Il est actuellement 11h32.


Vos questions techniques : forum d'entraide PHP - Publiez vos articles, tutoriels et cours
et rejoignez-nous dans l'équipe de rédaction du club d'entraide des développeurs francophones
Nous contacter - Hébergement - Participez - Copyright © 2000-2010 www.developpez.com - Legal informations.