No data base selected
sabrine
-
Alain_42 Messages postés 5413 Statut Membre -
Alain_42 Messages postés 5413 Statut Membre -
j ai se msg d'erreur qui va me tuer :
Erreur SQL !INSERT INTO utilisateurs VALUES("","sabrine","F","23","14-03-11")
No database selected
malgré que tt est bien , je ne trouve pas ou est l'erreur svp aider moi !!!
voila le code de mon fichier conx.php
<?php
function connectMaBase(){
$base = mysql_connect ('localhost', 'root', '');
mysql_select_db ('mabase', $base) ;
}
?>
et le code de mon fichier form.php
<?php
include("conx.php");
?>
<html>
<head><title>Formulaire de saisie utilisateur </title></head>
<body>
<h1>Inscrivez-vous !</h1>
<h2>Entrez les données demandées :</h2>
<form name="inscription" method="post" action="form.php">
Entrez votre pseudo : <input type="text" name="pseudo"/> <br/>
Garçon ou fille ? <input type="radio" name="sexe" value="G"/>Garçon<input type="radio" name="sexe" value="F"/>Fille<br/>
Entrez votre age : <input type="text" name="age"/><br/>
<input type="submit" name="valider" value="OK"/>
</form>
<?php
if (isset ($_POST['valider'])){
//On récupère les valeurs entrées par l'utilisateur :
$pseudo=$_POST['pseudo'];
$age=$_POST['age'];
$sexe=$_POST['sexe'];
//On construit la date d'aujourd'hui
//strictement comme sql la construit
$today = date("y-m-d");
//On se connecte
connectMaBase();
//On prépare la commande sql d'insertion
$sql = 'INSERT INTO utilisateurs VALUES("","'.$pseudo.'","'.$sexe.'","'.$age.'","'.$today.'")';
/*on lance la commande (mysql_query) et au cas où,
on rédige un petit message d'erreur si la requête ne passe pas (or die)
(Message qui intègrera les causes d'erreur sql)*/
mysql_query ($sql) or die ('Erreur SQL !'.$sql.'<br />'.mysql_error());
// on ferme la connexion
mysql_close();
}
?>
</body>
</html>
et le code de mon base de donnée
-- phpMyAdmin SQL Dump
-- version 3.4.9
-- http://www.phpmyadmin.net
--
-- Client: 127.0.0.1
-- Généré le : Mar 11 Mars 2014 à 15:27
-- Version du serveur: 5.5.20
-- Version de PHP: 5.3.9
SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
SET time_zone = "+00:00";
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;
--
-- Base de données: ' mabase'
--
-- --------------------------------------------------------
--
-- Structure de la table 'utilisateurs'
--
CREATE TABLE IF NOT EXISTS 'utilisateurs' (
'ID' int(11) NOT NULL AUTO_INCREMENT,
'pseudo' varchar(15) NOT NULL,
'sexe' char(1) NOT NULL,
'age' int(3) NOT NULL,
'dateInscription' date NOT NULL,
PRIMARY KEY ('ID')
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=6 ;
--
-- Contenu de la table 'utilisateurs'
--
INSERT INTO 'utilisateurs' ('ID', 'pseudo', 'sexe', 'age', 'dateInscription') VALUES
(1, 'Lili ', 'F', 18, '2009-01-02'),
(2, 'Toto', 'G', 13, '2008-01-02'),
(3, 'Loulou', 'G', 25, '2008-12-30'),
(4, 'Zézette', 'F', 20, '2009-01-02'),
(5, 'Mimi ', 'F', 15, '2009-01-10');
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
Erreur SQL !INSERT INTO utilisateurs VALUES("","sabrine","F","23","14-03-11")
No database selected
malgré que tt est bien , je ne trouve pas ou est l'erreur svp aider moi !!!
voila le code de mon fichier conx.php
<?php
function connectMaBase(){
$base = mysql_connect ('localhost', 'root', '');
mysql_select_db ('mabase', $base) ;
}
?>
et le code de mon fichier form.php
<?php
include("conx.php");
?>
<html>
<head><title>Formulaire de saisie utilisateur </title></head>
<body>
<h1>Inscrivez-vous !</h1>
<h2>Entrez les données demandées :</h2>
<form name="inscription" method="post" action="form.php">
Entrez votre pseudo : <input type="text" name="pseudo"/> <br/>
Garçon ou fille ? <input type="radio" name="sexe" value="G"/>Garçon<input type="radio" name="sexe" value="F"/>Fille<br/>
Entrez votre age : <input type="text" name="age"/><br/>
<input type="submit" name="valider" value="OK"/>
</form>
<?php
if (isset ($_POST['valider'])){
//On récupère les valeurs entrées par l'utilisateur :
$pseudo=$_POST['pseudo'];
$age=$_POST['age'];
$sexe=$_POST['sexe'];
//On construit la date d'aujourd'hui
//strictement comme sql la construit
$today = date("y-m-d");
//On se connecte
connectMaBase();
//On prépare la commande sql d'insertion
$sql = 'INSERT INTO utilisateurs VALUES("","'.$pseudo.'","'.$sexe.'","'.$age.'","'.$today.'")';
/*on lance la commande (mysql_query) et au cas où,
on rédige un petit message d'erreur si la requête ne passe pas (or die)
(Message qui intègrera les causes d'erreur sql)*/
mysql_query ($sql) or die ('Erreur SQL !'.$sql.'<br />'.mysql_error());
// on ferme la connexion
mysql_close();
}
?>
</body>
</html>
et le code de mon base de donnée
-- phpMyAdmin SQL Dump
-- version 3.4.9
-- http://www.phpmyadmin.net
--
-- Client: 127.0.0.1
-- Généré le : Mar 11 Mars 2014 à 15:27
-- Version du serveur: 5.5.20
-- Version de PHP: 5.3.9
SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
SET time_zone = "+00:00";
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;
--
-- Base de données: ' mabase'
--
-- --------------------------------------------------------
--
-- Structure de la table 'utilisateurs'
--
CREATE TABLE IF NOT EXISTS 'utilisateurs' (
'ID' int(11) NOT NULL AUTO_INCREMENT,
'pseudo' varchar(15) NOT NULL,
'sexe' char(1) NOT NULL,
'age' int(3) NOT NULL,
'dateInscription' date NOT NULL,
PRIMARY KEY ('ID')
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=6 ;
--
-- Contenu de la table 'utilisateurs'
--
INSERT INTO 'utilisateurs' ('ID', 'pseudo', 'sexe', 'age', 'dateInscription') VALUES
(1, 'Lili ', 'F', 18, '2009-01-02'),
(2, 'Toto', 'G', 13, '2008-01-02'),
(3, 'Loulou', 'G', 25, '2008-12-30'),
(4, 'Zézette', 'F', 20, '2009-01-02'),
(5, 'Mimi ', 'F', 15, '2009-01-10');
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
2 réponses
-
Bonjour,
Deux petites questions, lors de ton Insert dans ta databaseINSERT INTO utilisateurs VALUES("","'.$pseudo.'","'.$sexe.'","'.$age.'","'.$today.'")
Je ne suis pas un expert en mysql mais tu devrais essayer en ajoutant le nom de tes attributs
INSERT INTO utilisateurs (attribut1, pseudo, sexe, age, date_d) VALUES("","'.$pseudo.'","'.$sexe.'","'.$age.'","'.$today.'")
Et le problème vient peut être du champ attribut1 que tu initialise a ""
Pourquoi tu fais cela ?
Si c'est un ID en auto incrementation, tu n'as pas besoin de le remplir et du coup tu fais simplement
INSERT INTO utilisateurs (pseudo, sexe, age, date_d) VALUES("'.$pseudo.'","'.$sexe.'","'.$age.'","'.$today.'")
Sinon je n'ai pas vu d'erreur majeur.
Cordialement, -
je crois détecter une petite erreur:
ton message dit bien No database selected, cela veut dire qu'il y a un pb au niveau de la ligne mysql_select_db(....)
dans ton code de création base tu as:
Base de données: ' mabase'
et mysql_select_db ('mabase', $base) ;
y aurait-il pas un petit espace qui traine avant le nom de la base ?