Une seule insertion

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 : Une seule insertion

par mikeosx » 16 juin 2005, 17:24

Ok!!! en effet j'aurais du mieux lire....
En tous les cas merci à tous pour votre précieuse aide.

par zeus » 16 juin 2005, 17:21

Pas une tâche mais quelqu'un qui ne lit pas les post en entier

Je te disais qu'un identifiant de connexion est ce qui est retourné par un mysql_connect

Mais il ne faut pas faire
mysql_query(...);
mysql_error(...);
fait comme on te l'as conseillé
mysql_query(...) or die(mysql_error());

par mikeosx » 16 juin 2005, 17:18

ouep ! j'ai corrigé par
$result = mysql_query($sql);
mysql_error($result);
Toujours :

Warning: mysql_error(): supplied argument is not a valid MySQL-Link resource in c:\program files\easyphp1-8\www\repertoire\script.php on line 30

J'suis une tache vous pensez ?

par Guakamol » 16 juin 2005, 17:16

Dans le premier cas si la fonction mysql_query echoue alors tu affiche l'erreur en stopant le script.

Dans ce que tu propose tu cherche a afficher une erreur dans tout les cas (meme si mysql_query a reussi).

par zeus » 16 juin 2005, 17:14

mysql_error($sql); attend comme parametre un identifiant de connexion (ce qui est retourné quand tu fait un mysql_connect)

Toi, tu lui passe une requete

par mikeosx » 16 juin 2005, 17:12

merci a tous

j'ai utilisé le code de Nada_71 ca marche nickel merci !

Mais je comprends pas trop la différence entre

mysql_query($sql)or die('Erreur SQL !'.$sql.''.mysql_error());
et


mysql_query($sql); 
mysql_error($sql);
avec ca j'ai un retour

Warning: mysql_error(): supplied argument is not a valid MySQL-Link resource in c:\program files\easyphp1-8\www\repertoire\script.php on line 30

pourtant c'est pas la meme chose ?

par zeus » 16 juin 2005, 16:55

Je pense que dans ta table, tu doit avoir une clé primaire ou du moins un champ unique qui n'est pas auto_increment

Alors quand tu insère une ligne, ça marche mais quand tu cherche à en insérer une autre, il y a conflit sur cette colonne et l'enregistrement echoue

Essaye de te servir du code que Nada_71 t'as donné pour voir les erreur que MySQL peut génerer

par nada71 » 16 juin 2005, 15:01

oui exact lol.

par sausee2005 » 16 juin 2005, 14:58

mysql_query($sql)or die('Erreur SQL !'.$sql.''.mysql_error());
j'ai enlevé un point virgule

par nada71 » 16 juin 2005, 14:55

moi a ta place je ferai
<?php 
$nom = $_POST['nom']; 
$prenom = $_POST['prenom']; 
$email = $_POST['email']; 
$telephone = $_POST['telephone']; 
$portable = $_POST['portable']; 
$adresse = $_POST['adresse']; 
$adressesuite = $_POST['adressesuite']; 
$codepostal = $_POST['codepostal']; 
$ville = $_POST['ville']; 
mysql_connect ("localhost", "root", ""); 
// on séléctionne la basse de données 
mysql_select_db ("baserepertoire"); 
// on effectue la requete SQL 
$sql = "INSERT INTO contact (nom, prenom) VALUES ('$nom','$prenom')"; 
mysql_query($sql)or die('Erreur SQL !'.$sql.''.mysql_error());; 
?> 

par albat » 15 juin 2005, 22:38

Déjà, je virerais les $_REQUEST pour commencer...
http://qwix.media-box.net/index.php/200 ... er_request

Une seule insertion

par mikeosx » 15 juin 2005, 22:28

Bonjour, je recontre moults problèmes et le livre que j'ai acheté PHP 5 avancé explique pas dans le détails comment fonctionnent les requetes SQL...

quand je fais
<?php
$nom = $_REQUEST['nom'];
$prenom = $_REQUEST['prenom'];
$email = $_REQUEST['email'];
$telephone = $_REQUEST['telephone'];
$portable = $_REQUEST['portable'];
$adresse = $_REQUEST['adresse'];
$adressesuite = $_REQUEST['adressesuite'];
$codepostal = $_REQUEST['codepostal'];
$ville = $_REQUEST['ville'];
mysql_connect ("localhost", "root", "");
// on séléctionne la basse de données
mysql_select_db ("baserepertoire");
// on effectue la requete SQL
$sql = "INSERT INTO contact (nom, prenom) VALUES ('$nom','$prenom')";
mysql_query($sql);
?>
Je peux insérer des données dans ma base mais quand je reviens sur le formulaire pour insérer de nouveau et bien ca ne marche plus.
Si j'efface l'enregistrement qui a été créé ca refonctionne...

Quelqu'un peut-il m'aider ?

Un bon livre plus complet sur les requetes sql en php ?

merci !