écrire sur une base de données

Résolu
sagat06 Messages postés 166 Date d'inscription mercredi 27 juin 2007 Statut Membre Dernière intervention 31 mars 2014 - 23 oct. 2007 à 18:06
sagat06 Messages postés 166 Date d'inscription mercredi 27 juin 2007 Statut Membre Dernière intervention 31 mars 2014 - 23 oct. 2007 à 19:16
Lors de ma précédente question, j'ai voulu allé trop vite.
Donc, j'ai tout repris depuis le début en commençant par écrire un tout petit script qui devait me permettre d'écrire sur une table créé avec PhpMyAdmin

Voilà mes scripts puis après le résultat obtenu, avec des erreurs affichées:

fichier appel.html:

<HTML><HEAD>
<TITLE>Page d'accueil</TITLE>
</HEAD>

Renseignez les champs suivants:


<form action="realise.php" method="POST">
     
Prénom  
    
Nom      
     
Age        
 



</HTML>

fichier realise.php:

<?php

  $cxn=mysql_connect('localhost','','') or die("echec 1.");
  mysql_select_db('test',$cxn) or die('Erreur de selection '.mysql_error());
 
   foreach($_POST as $field => $value){
   
            $fields[]=$field;
            $values[]=$value;  
  }
   
  $fields_str=implode(",",$fields);
  $values_str=implode('","',$values);  
   
  $sql="INSERT INTO info";
  $sql.="(".$fields_str.")";
  $sql.=" VALUES ";
  $sql.="(".'"'.$values_str.")";
  $result=mysql_query($sql) or die("Requête INSERT en échec.");

?>

Ma base de données s'appelle bien 'test' et je teste les script sur mon ordi.

Après la soumission du formulaire, voilà ce qui s'affiche à l'écran:

Warning: mysql_connect(): Accès refusé pour l'utilisateur: 'ODBC'@'@localhost' (mot de passe: NON) in c:\program files\easyphp1-8\www\login3.php on line 11
echec 1.

Voilà, donc pour l'instant il ne me sert à rien de vouloir faire un accés réservé pour membre alors que je n'arrive tout simplement pas à écrire sur une base de données

J'éspère que cette fois-ci quelqu'un pourra bien m'aider
Merci d'avance.

Signé Sagat

8 réponses

spamito Messages postés 183 Date d'inscription samedi 24 mars 2007 Statut Membre Dernière intervention 30 mars 2013
23 oct. 2007 à 18:53
En local c'est :

 $host="localhost";
                  $user="root";
                  $password="";
                  $database="nom de ma base";
3
sagat06 Messages postés 166 Date d'inscription mercredi 27 juin 2007 Statut Membre Dernière intervention 31 mars 2014 1
23 oct. 2007 à 18:08
Ooops => la table sur laquelle je veux écrire s'appelle bien 'info'

Signé Sagat
0
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
23 oct. 2007 à 18:11
salut

  $cxn=mysql_connect('localhost','','') or die("echec 1.");

l'erreur est situee ici, tes parametres de connexions ne sont pas bons... on ne peut pas les connaitre a ta place...
0
spamito Messages postés 183 Date d'inscription samedi 24 mars 2007 Statut Membre Dernière intervention 30 mars 2013
23 oct. 2007 à 18:20
Exactement il faut revoir tes paramètres de connexion qui ne sont pas bons. Va revoir ces derniers.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
spamito Messages postés 183 Date d'inscription samedi 24 mars 2007 Statut Membre Dernière intervention 30 mars 2013
23 oct. 2007 à 18:26
Je vois que tu n'as pas un nom d'utilisateur :
 $cxn=mysql_connect('localhost','nomutilisateur','') or die("echec 1.");
0
sagat06 Messages postés 166 Date d'inscription mercredi 27 juin 2007 Statut Membre Dernière intervention 31 mars 2014 1
23 oct. 2007 à 18:26
Merci, je comprenais bien que mon problème venait de là.

Cependant, débutant en Php/MySql, je n'ai aucune idées de mes paramètres de connexion.
Je travaille en local, mes scripts sont situés dans le répertoire www de EasyPhp, et j'avais donné les paramètres que "Php et MySql pour les nuls" disait de mettre. A savoir :       
                  $host="localhost";
                  $user="";
                  $password="";
                  $database="nom de ma base";

Bref, si vous pouviez me donner le moyen de connaîtres ces paramètres, tout irait pour le mieux

Signé Sagat
0
sagat06 Messages postés 166 Date d'inscription mercredi 27 juin 2007 Statut Membre Dernière intervention 31 mars 2014 1
23 oct. 2007 à 19:01
Merci spamito, c'est exactement ce que je venais de faire, et l'erreur précitée disparait.

Cependant, une autre erreur apparait:

fichier realise.php modifié:

<?php

  if(isset($_POST['nom']))   {   $nom=$_POST['nom'];}
  if(isset($_POST['prenom']))   {   $prenom=$_POST['prenom'];}
  if(isset($_POST['age']))    {  $age=$_POST['age'];}


 
  $cxn=mysql_connect('localhost','root','') or die("echec 1.");
  mysql_select_db('test',$cxn) or die('Erreur de selection '.mysql_error()); 
   
  $sql="INSERT INTO info (id,nom,prenom,age) VALUES ('','$nom','$prenom','$age')";
  
  $result=mysql_query($sql) or die("Requête INSERT en échec.");
?>

Et cette fois-ci, j'obtiens comme résultat  

Requête INSERT en échec.

So, je ne sais pas d'où vient cette fois le pb

Merci encore de m'aider

Signé Sagat
0
sagat06 Messages postés 166 Date d'inscription mercredi 27 juin 2007 Statut Membre Dernière intervention 31 mars 2014 1
23 oct. 2007 à 19:16
Enfin, mon pb est résolu. Je ne sais comment d'ailleurs.

Bref, pour tous les débutants ayant acheté Php et MySql pour les nuls  sachez qu'ils vous faut attribuer à la variable $user la valeur 'root', sinon => prise de tête garanti.

Merci encore à tous ceux qui m'ont aider

Signé Sagat
0
Rejoignez-nous