Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
745 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  [ PHP ] Insertion de données dans une base.

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[ PHP ] Insertion de données dans une base.

n°1509391
drexlbob
Posté le 01-02-2007 à 00:23:04  profilanswer
 

Bonjour a tous!!
Je voudrais pouvoir ajouter des valeurs que saisis l'utilisateur dans une base de données. Je me connecte, ensuite je créé la base, créé une table, et insert des données. Quelqu'un pourrait-il me dire pourquoi mon code ne marche pas, quand je regarde dans ma base rien a etait créé???
Merci
 
 
<?php
mysql_connect($server, $name, $password);
 
$db = 'CREATE DATABASE `site`';
 
 
$table = 'CREATE TABLE `user` ('
        . ' `login` VARCHAR(25) NOT NULL, '
        . ' `password` VARCHAR(15) NOT NULL'
        . ' )';
 
$query = 'INSERT INTO user (login,password)) VALUES ($_POST["login"],$_POST["pass"])';
mysql_create_db($db);
mysql_query($table);
 
 if (!empty($_POST["login"]) && !empty($_POST["pass"]))
 {
     echo $_POST["login"];
 echo $_POST["pass"];
 mysql_query($query);
 }
?>


---------------
L'etre humain juge tres vite comprend lentement, s'enerve facilement et perd vite ses facultees d'enfant!!!!
mood
Publicité
Posté le 01-02-2007 à 00:23:04  profilanswer
 

n°1509395
giHefca
occupé à ne rien faire
Posté le 01-02-2007 à 00:44:22  profilanswer
 

mysql_query($db,$link) au lieu de mysql_create_db($db) et créé un link de ta connexion ($link = mysql_connect)

n°1509399
drexlbob
Posté le 01-02-2007 à 01:31:21  profilanswer
 

ok maintenant je peu creer ma base mais il ne veut pas creer la table???
 
$login = $_POST['login'];
$pass = $_POST['pass'];
 
$link = mysql_connect($server, $name, $password)
 or die("Impossible de se connecter : " . mysql_error());
echo 'Connexion réussie';
$db = 'CREATE DATABASE `site`';
 
mysql_select_db($db); // je selectionne la base
 
$table = 'CREATE TABLE `user` ('
        . ' `id` INT NOT NULL AUTO_INCREMENT, '
        . ' `login` VARCHAR(25) NOT NULL, '
        . ' `password` VARCHAR(15) NOT NULL,'
        . ' PRIMARY KEY (`id`)'
        . ' )';
 
$sql = "INSERT INTO user (id, login, password) VALUES ('', '$login', '$pass')";
mysql_query($db, $link);
mysql_query($table);
mysql_query($sql);
 mysql_close($link);
?>


---------------
L'etre humain juge tres vite comprend lentement, s'enerve facilement et perd vite ses facultees d'enfant!!!!
n°1509402
drexlbob
Posté le 01-02-2007 à 02:01:08  profilanswer
 

giHefca a écrit :

mysql_query($db,$link) au lieu de mysql_create_db($db) et créé un link de ta connexion ($link = mysql_connect)


 
 
C'est bon ca marche mai il reste un petit probleme.  Si je ne mes pas de mot de passe et/ou de login,  il y a des messages d'erreurs qui s'affichent. Avez vous une solution??  Surement!!
 
Ca, c'est les erreurs: "Undefined index: login in ..."
                            "Undefined index: pass in ..."
 
et voici la derniere version de mon code :
 
$login = $_POST['login'];
$pass = $_POST['pass'];
 
$link = mysql_connect($server, $name, $password)
 or die("Impossible de se connecter : " . mysql_error());
echo 'Connexion réussie';
$db = 'CREATE DATABASE `site`';
 
 
$db_selected = mysql_select_db('site', $link);
if (!$db_selected) {
   die ('Impossible de sélectionner la base de données : ' . mysql_error());
}
 
$table = 'CREATE TABLE `user` ('
        . ' `id` INT NOT NULL AUTO_INCREMENT, '
        . ' `login` VARCHAR(25) NOT NULL, '
        . ' `password` VARCHAR(15) NOT NULL,'
        . ' PRIMARY KEY (`id`),'
        . ' INDEX (`login`, `password`)'
        . ' )';
 
 
$sql = "INSERT INTO user (id, login, password) VALUES ('', '$login', '$pass')";
mysql_query($db, $link);
mysql_query($table);
 
 if ((empty($login)) && (empty($pass)))
 echo "Vous avez oublié de saisir votre login ou/et mot de passe";
else
 mysql_query($sql);
mysql_close($link);
?>


---------------
L'etre humain juge tres vite comprend lentement, s'enerve facilement et perd vite ses facultees d'enfant!!!!
n°1509551
Skateinmar​s
Posté le 01-02-2007 à 13:23:46  profilanswer
 

Teste avec isset si les variables existent.

n°1513133
giHefca
occupé à ne rien faire
Posté le 11-02-2007 à 01:52:49  profilanswer
 

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  [ PHP ] Insertion de données dans une base.

 

Sujets relatifs
Création de catégories en PHP[PHP]cherche un script de "classement"
[PHP] Pb avec mysql_connect...Importer des données financieres
[RESOLU][PHP] Récupération signature md5 d'un répertoire[PHP] : Framework Ajax - le quel choisir ?
Lire resultat PHP FLASH[PHP] Problème de variable de page
[PHP] Recherche d'un module pour création de tableau du style Excel[PHP] Classe MYSQL impossible d'accéder aux attributs de la classe
Plus de sujets relatifs à : [ PHP ] Insertion de données dans une base.


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR