No data base selected

Fermé
sabrine - 11 mars 2014 à 16:30
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 - 11 mars 2014 à 19:33
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

2 réponses

Bonjour,

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,
0
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
11 mars 2014 à 19:33
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 ?
0