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 */;
A voir également:
- No data base selected
- App data - Guide
- Base de registre windows - Guide
- Gigaset ne reconnait plus sa base - Forum telephonie fixe
- Prise data - Forum câblage
- No video input ✓ - Forum Matériel & Système
2 réponses
Bonjour,
Deux petites questions, lors de ton Insert dans ta database
Je ne suis pas un expert en mysql mais tu devrais essayer en ajoutant le nom de tes attributs
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
Sinon je n'ai pas vu d'erreur majeur.
Cordialement,
Deux petites questions, lors de ton Insert dans ta database
INSERT 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 ?
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 ?