[RESOLU] requêtes sql multiples

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [RESOLU] requêtes sql multiples

Re: requêtes sql multiples

par allhambra » 29 avr. 2014, 20:02

corrigé comme suit et ça 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']));
	}
Merci, tu es un chef :).

oui je sais, les habitudes ont la vie dure, il va falloir que je reprenne tous mes fichiers...

Re: requêtes sql multiples

par moogli » 29 avr. 2014, 19:33

j'ai donc raison.

c'est le problème classique des code sensibles aux injections SQL.

utilise mysql_real_escape_string pour corriger cela.

pour info : l'extension mysql va disparaître dans une futur version il est temps d'utiliser mysqli :mrgreen:

@+

Re: requêtes sql multiples

par allhambra » 29 avr. 2014, 19:30

après modifications, voici le code d'erreur généré:

Code : Tout sélectionner

Erreur SQL requete insert !INSERT INTO slides VALUES ('', 'Accompagnement', 'Créateur d'entreprise', 'slide_1.jpg'), ('', 'Conception', 'sites et applications web', 'slide_2.jpg'), ('', 'Solutions', 'e-commerce et catalogue interactif', 'slide_3.jpg') 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
aurait ce à voir avec l'apostrophe de créateur d'entreprise ?

Re: requêtes sql multiples

par allhambra » 29 avr. 2014, 19:26

bonsoir moogli,
heu... je ne l'avais pas fait ?
ben désolée...

Re: requêtes sql multiples

par moogli » 29 avr. 2014, 19:25

salut,

corrige ton message d'erreur afin d'avoir la requête SQL (le copier / coller c'est le mal).
<?php
mysql_query($req2) or die('Erreur SQL requete insert !' . $req2. '<br>' . mysql_error());
A priori je dirais que tu as une ' dans le titre un ou le deux.


@+

Re: requêtes sql multiples

par moogli » 29 avr. 2014, 19:20

Modération :
Afin d'améliorer la lisibilité de ton message,
pense à utiliser les balises [code] ou [php] (selon le langage utilisé).

Elles sont disponibles au-dessus de la zone de saisie de ton message
lorsque tu postes un nouveau message.

Des indications sont disponibles sur la manière de mettre en forme vos messages dans la FAQ

requêtes sql multiples

par allhambra » 29 avr. 2014, 18:23

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 :

Code : Tout sélectionner

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 requête 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