Probleme d'insertion SQL

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 : Probleme d'insertion SQL

Re: Probleme d'insertion SQL

par Flavien-web » 06 févr. 2012, 18:39

CA MARCHE, ENFIN !!!!!!!!! YOUPI ;)

Merci de l'intérêt que vous avez porter a ma requête.

Pour ceux qui ont besoin de la réponse voila le code que j'ai utiliser :

Pour l'affichage des inputs :
<?php
$nb=10;
for( $i = 0 ; $i < $nb ; $i++) 
{
echo '<td><input type="text" name="jour[]" value="" /></td>';
}
?>
Pour l'insertion des données dans la base de données :
<?php

$cxn=mysql_connect('localhost','mon_user', 'mon_mot_de_passe') or die("echec 1.");
mysql_select_db('ma_base_de_donnees',$cxn) or die('Erreur de selection '.mysql_error());
	
$sql='INSERT INTO test(jour1, jour2, jour3, jour4, jour5, jour6, jour7, jour8, jour9, jour10) VALUES (';

foreach($_GET['jour'] as $key=>$value)
{
   $sql.= $value.',';
}
$sql= substr($sql,0,strlen($sql)-1);
$sql.=');';

$result=mysql_query($sql) or die(mysql_error())


?>
Voilou, enjoy the programation !!!!!!

Re: Probleme d'insertion SQL

par Flavien-web » 06 févr. 2012, 17:10

j'ai enlever le $sql a coter du mysql_error et du coup il a un problème avec la ligne // INSERT INTO test(id, jour1, jour2, jour3, jour4, jour5, jour6, jour7, jour8, jour9, jour10) //

Ca doit venir de la configuration de ma table :(

Re: Probleme d'insertion SQL

par Flavien-web » 06 févr. 2012, 17:08

Ah oui, effectivement ;)

maintenant il m'affiche l'erreur :

Warning: mysql_error() expects parameter 1 to be resource, string given in /home/#####/public_html/##############.php on line 52

On progresse xD

Merci en tout cas pour l'intérêt que vous portez a ma requête ;)

Re: Probleme d'insertion SQL

par xTG » 06 févr. 2012, 16:58

Ouep, faut regarder la ligne au dessus, tu as oublié un point virgule à la fin :
$sql.=');'

Re: Probleme d'insertion SQL

par Flavien-web » 06 févr. 2012, 16:56

Oui, mais lorsque j'utilise la syntaxe
$result=mysql_query($sql) or die("Requête INSERT en échec.");
il m'affiche l'erreur suivante :

Parse error: syntax error, unexpected T_VARIABLE in /home/#####/public_html/#########.php on line 52

ps: j'ai cacher les identifiants et le nom de page par des #

Re: Probleme d'insertion SQL

par xTG » 06 févr. 2012, 16:40

Sans le point.
$result=mysql_query($sql) or die(mysql_error($sql));
Mais avant, avais-tu l'affichage de "Requête INSERT en échec" ?
Car si jamais tu ne l'as eu c'est sans doute que tu as une erreur de syntaxe quelque part mais que ton serveur est configuré pour ne pas afficher les erreurs.

Re: Probleme d'insertion SQL

par Flavien-web » 06 févr. 2012, 16:28

J'ai inserer la fonction // or die('.mysql_error()); // un peu partout pour essayer ;) Aucune réponse,
je doit avoir un problème de syntaxe sur la requête : // $result=mysql_query($sql) or die(.mysql_error($sql)); //

Re: Probleme d'insertion SQL

par Mazarini » 06 févr. 2012, 14:44

Le problème, c'est que tu n'indiques pas l'erreur.
Il faudrait ajouter à ton die() le code sql de l'insert pour un contrôle visuel rapide et le message d'erreur SQL (fonction mysql_error) pour savoir de quoi il retourne exactement.

Edit : tu mets 11 colonnes et 10 valeurs (voir colonne id)

Re: Probleme d'insertion SQL

par xTG » 06 févr. 2012, 14:43

Affiches $sql et utilises aussi mysql_error() pour avoir le message d'erreur.

Probleme d'insertion SQL

par Flavien-web » 06 févr. 2012, 14:26

Bonjour cher internaute,

J'ai creer un formulaire avec un foreach ainsi (example raccourci) :
<?php
	$nb=10;
	for( $i = 0 ; $i < $nb ; $i++) 
	{
	echo '<input type="text" name="jour[]" value="" />';
	}
?>
J'ai essayer de récupérer les valeurs afin de les ajouters sur une base de données mais la requête reste nul

ma table : test
mon champs 1 : jour1
mon champs 2 : jour2
mon champs 3 : jour3
ainsi de suite .... ( Je sais qu'il est possible de créer plusieurs lignes dans un seule champs mais j'ignore comment on fait ;) )

mon code :
<?php
	$cxn=mysql_connect('localhost','########', '#########') or die("echec 1.");
	mysql_select_db('###########',$cxn) or die('Erreur de selection '.mysql_error());
	
$sql='INSERT INTO test(id, jour1, jour2, jour3, jour4, jour5, jour6, jour7, jour8, jour9, jour10) VALUES (';

foreach($_GET['jour'] as $key=>$value)
{
   $sql.= $value.',';
}
$sql.= substr($sql,0,strlen($sql)-1);
$sql.=');'

$result=mysql_query($sql) or die("Requête INSERT en échec.");

?>
Si quelqu'un connais le probleme, ou s'il y a une solution alternative je vous en serait reconnaissant, merci d'avance ;)