[PHP] Insertion dans bdd

Résolu
Bonjour,

J'utilise ce script pour inscrire les visites dans ma bdd :
<?php 
include('monsite/connect-bdd.php'); 
// inscription dans la bdd
$nom = mysql_real_escape_string( ucfirst( strtolower($_POST['nom']) ) );
if( $nom != ucfirst( strtolower('Test')) )
{
    mysql_query("INSERT INTO visites VALUES('', '$nom', '$date')");
 }
// décconnexion de la bdd
mysql_close();
?>


Et enfin cette structure-là dans ma table :
id -> mediumint(11) , AI
nom -> varchar(50) , latin1_swedish_ci
date -> varchar(50) , latin1_swedish_ci

Je ne comprends pas pourquoi rien ne s'enregistre dans ma table ?!
Configuration: Windows Vista
Firefox 3.5.7

11 réponses

  • Votes
  • Date
  • Date décroissante
  1. Bonjour,

    essayez ainsi

    mysql_query("INSERT INTO visites VALUES(0, '$nom', '$date')");
    1. Bien essayé et testé, mais sans succès :(
      1. mal essayé ça fonctionne chez moi !
    2. et comme ceci:
      mysql_query ("INSERT visites SET nom = '$nom', date = '$date'");
      1. Super merci ;)

        Seulement, maintenant je souhaiterait importer ma table dans mon localhost. Je fais bien toute la manip' mais j'ai cette erreur :

        Erreur

        requête SQL:
        Base de données: `...`
        Structure de la table `visites`
        CREATE TABLE IF NOT EXISTS `visites` (
        `id` mediumint( 11 ) NOT NULL AUTO_INCREMENT ,
        `nom` varchar( 50 ) NOT NULL ,
        `date` varchar( 60 ) NOT NULL ,
        PRIMARY KEY ( `id` )
        ) ENGINE = MYISAM DEFAULT CHARSET = latin1 AUTO_INCREMENT =7;

        MySQL a répondu:Documentation
        #1046 - No database selected


        Les versions de mysql, du serveur web et de phpMyAdmin ne sont pas les mêmes. J'ai donc essayé avec le Mode de compatibilité SQL en Mysql40, mais voici ce que ça m'affiche :

        Erreur

        requête SQL:
        Base de données: `...`
        Structure de la table `visites`
        CREATE TABLE IF NOT EXISTS `visites` (
        `id` mediumint( 11 ) NOT NULL AUTO_INCREMENT ,
        `nom` varchar( 50 ) NOT NULL ,
        `date` varchar( 60 ) NOT NULL ,
        PRIMARY KEY ( `id` )
        ) TYPE = MYISAM AUTO_INCREMENT =7;

        MySQL a répondu:Documentation
        #1046 - No database selected


        Merci de ton aide ;)
        1. si tu veux importer ta table il faut lui indiquer dans quelle base... lit ce que dit mysql:
          #1046 - No database selected 


          sinon, importe aussi ta base dans ton localhost.
          1. en fait, je voudrai importer ma base, mais comme ça marchait pas j'ai essayé la table...

            Mais comment l'indiquer ?
            1. CREATE DATABASE [IF NOT EXISTS] db_name


              qu'on peut lire ici:
              http://dev.mysql.com/doc/refman/5.0/fr/create-database.html
              1. Bonsoir,

                il faut faire le point.
                il faut une base avant de créer des tables.
                as-tu créer ta base dans ton localhost ? soit create database comme te le répète Ugglyboy, soit avec phpmyadmin (si tu as easy php / wamp )
                ensuite le create table ne peut fonctionner que si la base est connectée (ou sélectionnée), or le message est clair tu n'es pas connecté.

                sur ta dernière question : j'écris ça où ?
                tout dépend :
                en ligne de commande sql,
                ou en ligne de commande dans phpmyadmin
                ou en créant une requête dans un script php

                alors je pense qu'il te faut revoir quelques bases de sql

                dans le script initial :
                <?php
                include('monsite/connect-bdd.php'); //la connexion est-elle bonnne?
                // inscription dans la bdd
                $nom = mysql_real_escape_string( ucfirst( strtolower($_POST['nom']) ) );
                if( $nom != ucfirst( strtolower('Test')) )
                {
                mysql_query("INSERT INTO visites VALUES('', '$nom', '$date')");

                // la table vistes existe-t-elle ?
                }
                // décconnexion de la bdd
                mysql_close();
                ?>

                1. Alors là, giheller, respect pour ta super réponse.

                  Mon problème est enfin Résolu !

                  Merci beaucoup à toi ;)