Problème insertion base 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 : Problème insertion base SQL

Re: Problème insertion base SQL

par rouly67 » 08 juin 2010, 11:22

Ah ben oui !

Merci a toi !

Re: Problème insertion base SQL

par AoSiX » 08 juin 2010, 11:18

Hello,
 
`telephone` int(10) NOT NULL,
tu as déclaré telephone comme un entier, donc tout comme ...
...01 = 1
...000000001 = 1
-> 0154575859 = 154575859.

Pour résoudre ce problème, converti téléphone en varchar ( 14 )...
ALTER TABLE  `benevoles` CHANGE  `telephone`  `telephone` VARCHAR( 14 ) NOT NULL
...ce qui te permet de faire 0155545758, et même d'y mettre un séparateur, a la guise du visiteur ( +1 pour la lisibilité :) ) -> 01.55.54.57.58

Re: Problème insertion base SQL

par rouly67 » 08 juin 2010, 11:13

J'ai pas encore eu le temps de voir pour le mysql_real_escape_string

Mais j'ai encore une question :
Lors de l'insertion du n° de téléphone, il ne me prend pas en compte (ou ne m'affiche pas dans SQL) le "0" du début...

Why ?? :roll:

Re: Problème insertion base SQL

par rouly67 » 08 juin 2010, 01:39

ok jme garde ca poru demain !
Merci encore !

Re: Problème insertion base SQL

par stealth35 » 08 juin 2010, 01:24

Aaaaaargh !!! (Tout ca pour ca!)

Un grand merci a toi ! 8-)

:wink:
oublie pas de faire un mysql_real_escape_string, quand tu va avoir des apostrophes dans ton texte ca va pas le faire (sauf si t'es en magic_quote),
si tu veux pas t'embêter tu fais :
$_POST = array_map('mysql_real_escape_string', $_POST );

Re: Problème insertion base SQL

par rouly67 » 08 juin 2010, 01:18

Aaaaaargh !!! (Tout ca pour ca!)

Un grand merci a toi ! 8-)

Re: Problème insertion base SQL

par stealth35 » 08 juin 2010, 01:16

manque la virgule apres dejaete='oui' :wink:

Re: Problème insertion base SQL

par rouly67 » 08 juin 2010, 01:15

et ca c'est ma table
--
-- Structure de la table `benevoles`
--

CREATE TABLE IF NOT EXISTS `benevoles` (
  `dejaete` varchar(3) NOT NULL,
  `nom` varchar(25) NOT NULL,
  `prenom` varchar(25) NOT NULL,
  `adresse` varchar(60) NOT NULL,
  `code` int(5) NOT NULL,
  `ville` varchar(30) NOT NULL,
  `telephone` int(10) NOT NULL,
  `email` varchar(30) NOT NULL,
  `amontjour` varchar(50) NOT NULL,
  `amonthoraires` varchar(40) NOT NULL,
  `vendredi` varchar(50) NOT NULL,
  `vendredihoraires` varchar(40) NOT NULL,
  `samedi` varchar(50) NOT NULL,
  `samedihoraires` varchar(40) NOT NULL,
  `apresjour` varchar(50) NOT NULL,
  `apreshoraires` varchar(40) NOT NULL,
  `groupes` varchar(60) NOT NULL,
  `comdispo` varchar(60) NOT NULL,
  `experience` varchar(60) NOT NULL,
  PRIMARY KEY  (`nom`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

Re: Problème insertion base SQL

par rouly67 » 08 juin 2010, 01:13

INSERT INTO benevoles SET dejaete='oui' nom='DUPOND', prenom='Jeanette', adresse='Champ Elysée', code='75000', ville='PARIS', telephone='0606060606', email='[email protected]', amontjour='Soirs', amonthoraires='Apres 18h', vendredihoraires='A partir de midi', samedihoraires='A partir de midi', apresjour='Week-end', apreshoraires='Tous les jours', groupes='100 Grammes de Têtes, Alif Sound System, Red Eyes Band, Bal Pygmée...', comdispo='Je ne bosse plus à ce moment la', experience='les autres festival dulardon pardi !'

INSERT INTO benevoles SET
dejaete='oui'
nom='DUPOND',
prenom='Jeanette',
adresse='Champ Elysée',
code='75000',
ville='PARIS',
telephone='0606060606',
email='[email protected]',
amontjour='Soirs',
amonthoraires='Apres 18h',
vendredihoraires='A partir de midi',
samedihoraires='A partir de midi',
apresjour='Week-end',
apreshoraires='Tous les jours',
groupes='100 Grammes de Têtes, Alif Sound System, Red Eyes Band, Bal Pygmée...',
comdispo='Je ne bosse plus à ce moment la',
experience='les autres festival dulardon pardi !'
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 'nom='DUPOND',
prenom='Jeanette',
adresse='Champ Elysée',
code='75000',
ville' at line 3

Re: Problème insertion base SQL

par stealth35 » 08 juin 2010, 01:09

fais un
echo $requete; 
avant ton mysql_query, et montre ta requete complete

Re: Problème insertion base SQL

par rouly67 » 08 juin 2010, 01:07

Meme avec les virgules ca passe pas :
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 'nom='DUPOND',
prenom='Jeanette',
adresse='Champ Elysée',
code='75000',
ville' at line 3
Vraiment pas douée...

Re: Problème insertion base SQL

par stealth35 » 08 juin 2010, 01:02

ta pas mis de virgule pour séparer les valeurs

Re: Problème insertion base SQL

par rouly67 » 08 juin 2010, 00:56

La j'ai ce code :
<?php
$dejaete = $_POST['dejaete'];
$nom = $_POST['nom'];
$prenom = $_POST['prenom'];
$adresse = $_POST['adresse'];
$code = $_POST['code'];
$ville = $_POST['ville'];
$telephone = $_POST['telephone'];
$email = $_POST['email'];
$amontjour = $_POST['amontjour'];
$amonthoraires = $_POST['amonthoraires'];
$vendredihoraires = $_POST['vendredihoraires'];
$samedihoraires = $_POST['samedihoraires'];
$apresjour = $_POST['apresjour'];
$apreshoraires = $_POST['apreshoraires'];
$groupes = $_POST['groupes'];
$comdispo = $_POST['comdispo'];
$experience = $_POST['experience'];

$connexion = mysql_connect("host","id","mdp");
mysql_select_db("base",$connexion);

$requete = "INSERT INTO benevoles SET
dejaete='$dejaete'
nom='$nom'
prenom='$prenom'
adresse='$adresse'
code='$code'
ville='$ville'
telephone='$telephone'
email='$email'
amontjour='$amontjour'
amonthoraires='$amonthoraires'
vendredihoraires='$vendredihoraires'
samedihoraires='$samedihoraires'
apresjour='$apresjour'
apreshoraires='$apreshoraires'
groupes='$groupes'
comdispo='$comdispo'
experience='$experience'";
mysql_query($requete) or exit('<pre>' . $requete  . PHP_EOL . mysql_error() . '</pre>');

echo "<h2>Vos données ont été envoyées !</h2>";
echo "<p class='texte'><a href='benevoles-inscription2.php'>Retour au formulaire</a></p><br><br>";

// fermeture de la connexion vers Mysql
mysql_close();
?>
et il me renvoi ca :
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 'nom='DUPONT'
prenom='Jeanette'
adresse=Champ Elysée'
code='75000' at line 3

Re: Problème insertion base SQL

par stealth35 » 08 juin 2010, 00:45

déjà ta des valeur de type Array dans l'insertion de ta requête ca va pas, faut protegé les quote aussi avec mysql_real_escape_string, verfiei les valeur de ton $_POST avec :

print_r($_POST);

:wink:

Re: Problème insertion base SQL

par rouly67 » 08 juin 2010, 00:43

j'ai tout vérifié jcapte pas...