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

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

Marsh Posté le 01-02-2007 à 00:23:04    

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!!!!
Reply

Marsh Posté le 01-02-2007 à 00:23:04   

Reply

Marsh Posté le 01-02-2007 à 00:44:22    

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

Reply

Marsh Posté le 01-02-2007 à 01:31:21    

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!!!!
Reply

Marsh Posté le 01-02-2007 à 02:01:08    

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!!!!
Reply

Marsh Posté le 01-02-2007 à 13:23:46    

Teste avec isset si les variables existent.

Reply

Marsh Posté le 11-02-2007 à 01:52:49    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed