PHP|Débutant :: Forums

Advertisement

Besoin d'aide ? N'hésitez pas, mais respectez les règles

Vous n'êtes pas identifié(e).

#1 29-04-2014 17:19:06

allhambra
Membre
Lieu : Pau (64)
Inscription : 10-09-2009
Messages : 75
Site Web

Insert sql multiples

Bonjour les codeurs smile.
j'ai un formulaire basique dont je souhaite ventiler les résultats dans deux tables.
J'ai donc fait deux requêtes dans ma page de traitement, la première fonctionne sans soucis mais la seconde me mets une erreur sql et l'insert ne se fait pas.
voici ma page :

<?php require_once('../Connections/config.php'); ?>
<?php

// on crée nos variables, et au passage on retire les éventuels espaces
if (isset($_POST['slide1_titre'])){
    $slide1_titre = ($_POST['slide1_titre']);
  }
if (isset($_POST['slide1_text'])){
    $slide1_text = ($_POST['slide1_text']);
  }
if (isset($_POST['slide2_titre'])){
    $slide2_titre = ($_POST['slide2_titre']);
  }
if (isset($_POST['slide2_text'])){
    $slide2_text = ($_POST['slide2_text']);
  }
if (isset($_POST['slide3_titre'])){
    $slide3_titre = ($_POST['slide3_titre']);
  }
if (isset($_POST['slide3_text'])){
    $slide3_text = ($_POST['slide3_text']);
  }
 
 
  $chemin = "../uploads/" ;
   
    if(!empty($_FILES["logo"]["name"]))
{
  //nom du fichier choisi:
  $nomFichier    = $_FILES["logo"]["name"] ;
  //nom temporaire sur le serveur:
  $nomTemporaire = $_FILES["logo"]["tmp_name"] ;
  //type du fichier choisi:
  $typeFichier   = $_FILES["logo"]["type"] ;
  //poids en octets du fichier choisit:
  $poidsFichier  = $_FILES["logo"]["size"] ;
  //code de l'erreur si jamais il y en a une:
  $codeErreur    = $_FILES["logo"]["error"] ;
 

 
  if(copy($nomTemporaire, $chemin.$nomFichier))
    //echo("<p>l'upload du logo a réussi</p>") ;
    echo("<p>Upload du logo : ". OK."</p>");
  else
    echo("<p>l'upload du logo1 a échoué</p>") ;
}//fin if
else
{
  echo("Vous n'avez pas choisit de fichier!!". RETOUR);
  //echo("<a href=\"./biens.php\">Retour</a><br>") ;
}//fin else

  if(!empty($_FILES["image"]["name"]))
{
  //nom du fichier choisi:
  $nomFichier2    = $_FILES["image"]["name"] ;
  //nom temporaire sur le serveur:
  $nomTemporaire = $_FILES["image"]["tmp_name"] ;
  //type du fichier choisi:
  $typeFichier   = $_FILES["image"]["type"] ;
  //poids en octets du fichier choisit:
  $poidsFichier  = $_FILES["image"]["size"] ;
  //code de l'erreur si jamais il y en a une:
  $codeErreur    = $_FILES["image"]["error"] ;
 

 
  if(copy($nomTemporaire, $chemin.$nomFichier2))
    //echo("<p>l'upload de l'image principale a réussi</p>") ;
    echo '<p>upload de l\'image principale : '. OK.'</p>';
  else
    echo("<p>l'upload de l'image principale a échoué</p>") ;
}//fin if
else
{
  echo("Vous n'avez pas choisit de fichier!!". RETOUR);
  //echo("<a href=\"./biens.php\">Retour</a><br>") ;
}//fin else

  if(!empty($_FILES["favicon"]["name"]))
{
  //nom du fichier choisi:
  $favicon    = $_FILES["favicon"]["name"] ;
  //nom temporaire sur le serveur:
  $nomTemporaire = $_FILES["favicon"]["tmp_name"] ;
  //type du fichier choisi:
  $typeFichier   = $_FILES["favicon"]["type"] ;
  //poids en octets du fichier choisit:
  $poidsFichier  = $_FILES["favicon"]["size"] ;
  //code de l'erreur si jamais il y en a une:
  $codeErreur    = $_FILES["favicon"]["error"] ;
 

 
  if(copy($nomTemporaire, $chemin.$favicon))
    //echo("<p>l'upload de l'image principale a réussi</p>") ;
    echo '<p>upload du favicon : '. OK.'</p>';
  else
    echo("<p>l'upload de l'image principale a échoué</p>") ;
}//fin if
else
{
  echo("Vous n'avez pas choisit de fichier!!". RETOUR);
  //echo("<a href=\"./biens.php\">Retour</a><br>") ;
}//fin else
  if(!empty($_FILES["slide1"]["name"]))
{
  //nom du fichier choisi:
  $slide1    = $_FILES["slide1"]["name"] ;
  //nom temporaire sur le serveur:
  $nomTemporaire = $_FILES["slide1"]["tmp_name"] ;
  //type du fichier choisi:
  $typeFichier   = $_FILES["slide1"]["type"] ;
  //poids en octets du fichier choisit:
  $poidsFichier  = $_FILES["slide1"]["size"] ;
  //code de l'erreur si jamais il y en a une:
  $codeErreur    = $_FILES["slide1"]["error"] ;
 

 
  if(copy($nomTemporaire, $chemin.$slide1))
    //echo("<p>l'upload de l'image principale a réussi</p>") ;
    echo '<p>upload du slide 1 : '. OK.'</p>';
  else
    echo("<p>l'upload du slide 1 a échoué</p>") ;
}//fin if
else
{
  echo("Vous n'avez pas choisit de fichier!!". RETOUR);
  //echo("<a href=\"./biens.php\">Retour</a><br>") ;
}//fin else

if(!empty($_FILES["slide2"]["name"]))
{
  //nom du fichier choisi:
  $slide2    = $_FILES["slide2"]["name"] ;
  //nom temporaire sur le serveur:
  $nomTemporaire = $_FILES["slide2"]["tmp_name"] ;
  //type du fichier choisi:
  $typeFichier   = $_FILES["slide2"]["type"] ;
  //poids en octets du fichier choisit:
  $poidsFichier  = $_FILES["slide2"]["size"] ;
  //code de l'erreur si jamais il y en a une:
  $codeErreur    = $_FILES["slide2"]["error"] ;
 

 
  if(copy($nomTemporaire, $chemin.$slide2))
    //echo("<p>l'upload de l'image principale a réussi</p>") ;
    echo '<p>upload du slide 2 : '. OK.'</p>';
  else
    echo("<p>l'upload du slide 2 a échoué</p>") ;
}//fin if
else
{
  echo("Vous n'avez pas choisit de fichier!!". RETOUR);
  //echo("<a href=\"./biens.php\">Retour</a><br>") ;
}//fin else

if(!empty($_FILES["slide3"]["name"]))
{
  //nom du fichier choisi:
  $slide3    = $_FILES["slide3"]["name"] ;
  //nom temporaire sur le serveur:
  $nomTemporaire = $_FILES["slide3"]["tmp_name"] ;
  //type du fichier choisi:
  $typeFichier   = $_FILES["slide3"]["type"] ;
  //poids en octets du fichier choisit:
  $poidsFichier  = $_FILES["slide3"]["size"] ;
  //code de l'erreur si jamais il y en a une:
  $codeErreur    = $_FILES["slide3"]["error"] ;
 

 
  if(copy($nomTemporaire, $chemin.$slide3))
    //echo("<p>l'upload de l'image principale a réussi</p>") ;
    echo '<p>upload du slide 3 : '. OK.'</p>';
  else
    echo("<p>l'upload du slide 3 a échoué</p>") ;
}//fin if
else
{
  echo("Vous n'avez pas choisit de fichier!!". RETOUR);
  //echo("<a href=\"./biens.php\">Retour</a><br>") ;
}//fin else


mysql_select_db($database_config, $config);
$req1 = "UPDATE site SET logo='$nomFichier', image='$nomFichier2', favicon='$favicon' WHERE id=1";
$req2 = "INSERT INTO slides VALUES
('', '".$slide1_titre."', '".$slide1_text."', '".$slide1."'),
('', '".$slide2_titre."', '".$slide2_text."', '".$slide2."'),
('', '".$slide3_titre."', '".$slide3_text."', '".$slide3."')
";
mysql_query($req1) or die('Erreur SQL requete update !'.$sql.'<br>'.mysql_error());
mysql_query($req2) or die('Erreur SQL requete insert !'.$sql.'<br>'.mysql_error());

echo 'Installation : '. OK;

print("<script type=\"text/javascript\">setTimeout('location=(\"etape5.php\")' ,1000);</script>");

?>

l'erreur générée :

Upload du logo : OK

upload de l'image principale : OK

upload du favicon : OK

upload du slide 1 : OK

upload du slide 2 : OK

upload du slide 3 : OK

Erreur SQL requete insert !
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 'entreprise', 'slide_1.jpg'), ('', 'Conception', 'sites
et applications we' at line 2

toute aide est bienvenue, a force de bloquer la dessus, je n'ai plus les yeux en face des trous sad

Hors ligne

#2 29-04-2014 18:41:55

Maljuna Kris
Infantimigulo
Lieu : Douarnenez 29100 Breizh Izel
Inscription : 08-05-2009
Messages : 2 453
Site Web

Re : Insert sql multiples

Saluton,

Personnellement pour construire ces requêtes un peu complexes je préfère la lisibilité de sprintf()

$req2 = sprintf("INSERT INTO slides VALUES('','%s','%s','%s'),
                                          ('','%s','%s','%s'),
                                          ('','%s','%s','%s')",
                $slide1_titre,
                $slide1_text,
                $slide1,
                $slide2_titre,
                $slide2_text,
                $slide2,
                $slide3_titre,
                $slide3_text,
                $slide3);

Mais peut-être que l'une des variables contient une quote ce qui, immanquablement, fera planter la soumission de la requête à MySQL, ce qui semble être le cas avec

sites  et applications we'


Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy

Hors ligne

#3 29-04-2014 19:05:06

allhambra
Membre
Lieu : Pau (64)
Inscription : 10-09-2009
Messages : 75
Site Web

Re : Insert sql multiples

oui c'était bien les quotes le problème. J'ai modifié comme suit et ca fonctionne:


// on crée nos variables, et au passage on retire les éventuels espaces
if (isset($_POST['slide1_titre'])){
    $slide1_titre = (mysql_real_escape_string ($_POST['slide1_titre']));
  }
if (isset($_POST['slide1_text'])){
    $slide1_text = (mysql_real_escape_string ($_POST['slide1_text']));
  }
if (isset($_POST['slide2_titre'])){
    $slide2_titre = (mysql_real_escape_string ($_POST['slide2_titre']));
  }
if (isset($_POST['slide2_text'])){
    $slide2_text = (mysql_real_escape_string ($_POST['slide2_text']));
  }
if (isset($_POST['slide3_titre'])){
    $slide3_titre = (mysql_real_escape_string ($_POST['slide3_titre']));
  }
if (isset($_POST['slide3_text'])){
    $slide3_text = (mysql_real_escape_string ($_POST['slide3_text']));
  }

Hors ligne

Pied de page des forums