Page 1 sur 1

Insérer des données dans la bdd

Posté : 06 oct. 2013, 18:28
par ISoon
Bonjour,

j'ai un bug quand j'insere des données dans la base de donnée.

Voici les scripts :

contact2.php :
<?php
 $cnx = mysql_connect( "", "", "" ) ;
 
  //sélection de la base de données:
  $db  = mysql_select_db( "" ) ;
 


  $categories = $_POST["categories"] ;
  //prenom:
  $objet = $_POST["objet"] ;
  //adresse:
  $mail = $_POST["mail"] ;
  //code postal:
  $text        = $_POST["text"] ;

  $sql = "INSERT  INTO contact (categories, objet, mail, text)
            VALUES ( '$categories', '$objet', '$mail', '$text') " ;
 
  //exécution de la requête SQL:
  $requete = mysql_query($sql, $cnx) or die( mysql_error() ) ;
 
  //affichage des résultats, pour savoir si l'insertion a marchée:
  if($requete)
  {
    echo("L'insertion a été correctement effectuée") ;
  }
  else
  {
    echo("L'insertion à échouée") ;
  }
?>
contact.php
<form name="insertion" action="contact2.php" method="POST">
Categorie : <br/>
<select style="padding: 5px 10px; border: #CCC solid 2px; border-radius: 5px; width:450px;  height:37px; font-size:18px" name="categories">
<option>Signalement d'un lien</option>
<option>Renseignement</option>
<option>Demande de Partenariat</option>
<option>Recrutement chaine Youtube</option>
<option>Autres</option>
</select><br/>
Objet : <br/>
<input type="text" style=" padding: 5px 10px; border: #CCC solid 2px; border-radius: 5px; width:450px;  height:30px; font-size:18px" name="objet"/><br/>
Email :<br/>
<input type="email" style=" padding: 5px 10px; border: #CCC solid 2px; border-radius: 5px; width:450px;  height:30px; font-size:18px" name="mail"/><br/>
Texte : <br/>
<textarea name="text" rows="6" cols="30" style="padding: 5px 10px; border: #CCC solid 2px; border-radius: 5px; width:450px;  height:250px; font-size:18px"></textarea><br/><br/>

<input style="width:450px; height:40px;  border: none; border-radius: 5px; background: #CCCCCC; color:#FFF; font-family: Open Sans', sans-serif; font-size:18px; font-weight:bold;" value="Nous-Contacter" type="submit"/>
</form>
Voici l'erreur :
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 'un lien', 'test', '[email protected]', 'tetettetetetetetetetettetetetetetete')' at line 2
Merci beaucoup :)

Re: Insérer des données dans la bdd

Posté : 06 oct. 2013, 19:10
par josse34

Code : Tout sélectionner

$cnx = mysql_connect( "", "", "" ) ;
Tu as oublié les arguments, comme le nom de la base, le nom d'utilisateur et le mot de passe : http://php.net/manual/fr/function.mysql-connect.php

Re: Insérer des données dans la bdd

Posté : 06 oct. 2013, 19:15
par xTG
Il les as simplement enlevé quand il a posté. ;)

Tes champs doivent comporter des caractères qui posent problème à la requête.
C'est ce qu'on appelle une injection SQL ratée. ^^

Utilises la fonction mysql_real_escape_string sur chaque variable que tu insères dans une requête SQL.

Re: Insérer des données dans la bdd

Posté : 06 oct. 2013, 19:25
par ISoon
Il les as simplement enlevé quand il a posté. ;)

Tes champs doivent comporter des caractères qui posent problème à la requête.
C'est ce qu'on appelle une injection SQL ratée. ^^

Utilises la fonction mysql_real_escape_string sur chaque variable que tu insères dans une requête SQL.
Ou le mettre?

Re: Insérer des données dans la bdd

Posté : 06 oct. 2013, 20:10
par ISoon
Il les as simplement enlevé quand il a posté. ;)

Tes champs doivent comporter des caractères qui posent problème à la requête.
C'est ce qu'on appelle une injection SQL ratée. ^^

Utilises la fonction mysql_real_escape_string sur chaque variable que tu insères dans une requête SQL.
MErci j'ai trouvée :

*
$categories     =  mysql_real_escape_string($_POST["categories"]) ;
Comme sa sur les 4 :D :)

Resolu