[Debian] Probleme avec Mysql

Résolu
Utilisateur anonyme -  
 Utilisateur anonyme -
Bonjour,
je suis sous Debian 4.0, J' ai installer Apache 2.2, PHP 5.2 et MySQL 5.0

Et je n'arrive pas a me connecter a ma base de données pour y rajouter des données
Je ne pense pas que sa vienne de mon code source :

mysql_connect("localhost", "root", "");
mysql_select_db("$base");
mysql_query("INSERT INTO `table` VALUES '' , 'nom' , 'message'") or die ("Impossible de se connecter à la base de données");

Ce code m'affiche toujours : Impossible de se connecter à la base de donnée

Mais je ne vois pas pourquoi il ne veut pas se connecter
Une idée ?

PS : je débute sous linux soyer pas trop méchant
Configuration: Indeterminable Indeterminable

15 réponses

  1. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
     
    ok, j'ai compris pourquoi
    essai
    <?
    $adresse_serveur_base = 'localhost';
    $login_serveur = 'root';
    $MDP_serveur = '';
    $base = 'dev';
    
    $req = "INSERT INTO `table` VALUES ('nom' , 'message')";
    mysql_connect($adresse_serveur_base, $login_serveur,$MDP_serveur);
    mysql_select_db($base);
    mysql_query($req) or die ("Impossible de se connecter à la base de données");
    ?>


    En fait il faut eviter d'utiliser des mots clés mysql
    Dans ton cas tu as mis le nom de la table "table", mais table c'est un mot clé mysql d'où le conflit

    mysql> create table dev (nom varchar(100), message varchar(500));
    Query OK, 0 rows affected (0.00 sec)
    
    mysql> create table table (nom varchar(100), message varchar(500));
    ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'table (nom varchar(100), message varchar(500))' at line 1
    mysql> create table `table` (nom varchar(100), message varchar(500));
    Query OK, 0 rows affected (0.01 sec)
    
    mysql> INSERT INTO table VALUES('aaa','ok');
    ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'table VALUES('aaa','ok')' at line 1
    mysql> INSERT INTO `table` VALUES('aaa','ok');
    Query OK, 1 row affected (0.00 sec)
    
    mysql> select * from table;
    ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'table' at line 1
    mysql> select * from `table`;
    +------+---------+
    | nom  | message |
    +------+---------+
    | aaa  | ok      |
    +------+---------+
    1 row in set (0.06 sec)
    
    mysql>
    
    2
    1. Utilisateur anonyme
       
      <?
      $adresse_serveur_base = 'localhost';
      $login_serveur = 'root';
      $MDP_serveur = '';
      $base = 'dev';

      $req = "INSERT INTO `table` VALUES ('nom' , 'message')";
      mysql_connect($adresse_serveur_base, $login_serveur,$MDP_serveur);
      mysql_select_db($base);
      mysql_query($req) or die ("Impossible de se connecter à la base de données");
      ?>

      marche nikel
      0
      1. Utilisateur anonyme > Utilisateur anonyme
         
        merci encore
        0
  2. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
     
    Salut,

    ouvre une console et tape
    mysql -u root -p
    et suis les instructions
    ensuite affiche ce que tu vois à l'écran
    0
    1. Utilisateur anonyme
       
      mysql -u root -p affiche :

      Enter password:
      Welcome to the MySQL monitor. Commands end with ; or \g.
      Your MySQL connection id is 29
      Server version: 5.0.32-Debian_7etch1-log Debian etch distribution

      Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

      mysql>
      0
  3. Utilisateur anonyme
     
    je pense que sa vient plus d un probleme de configuration d apache ou de mysql
    0
  4. bob031 Messages postés 8228 Statut Membre 473
     
    Salut,

    mysql_connect("localhost", "root", "");
    mysql_select_db("$base");
    mysql_query("INSERT INTO `table` VALUES '' , 'nom' , 'message'") or die ("Impossible de se connecter à la base de données");

    Ce code m'affiche toujours : Impossible de se connecter à la base de donnée


    ok mais c'est le message de retour écrit dans ton script ! Le truc se serait de savoir pourquoi tu ne peux te connecter (mot de passe, etc ....).

    :-))
    0
    1. Utilisateur anonyme
       
      oui mais comment savoir se qui ne vas pas

      Mais je trouve sa très bizar car via l interface de phpmyadmin ou en ligne de commande j arrive a me connecter
      0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
     
    Salut,

    tu n'as pas messages d'erreur pour la connection à mysql
    c'est plutôt le nom de la base qui pose de problèmes
    que contient $dabase

    essai pour voir

    mysql -u root -p
    Enter password:
    Welcome to the MySQL monitor. Commands end with ; or \g.
    Your MySQL connection id is 29
    Server version: 5.0.32-Debian_7etch1-log Debian etch distribution
    
    Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
    
    mysql> use nomdetabase
    0
    1. Utilisateur anonyme
       
      $base contient 'dev'

      donc je fais (je pense)

      mysql> use dev
      Reading table information for completion of table and column names
      You can turn off this feature to get a quicker startup with -A

      Database changed
      mysql>
      0
  7. bob031 Messages postés 8228 Statut Membre 473
     
    voir aussi pitêtre en indiquant le mot de passe :
    mysql_connect("localhost", "root", "");
    parce que là c'est pas indiqué !

    mais peut-être que je dis des bêtises .....

    :-))
    0
    1. Utilisateur anonyme
       
      il n est pas indiquer car il n y en a pas
      0
  8. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
     
    affiche ton script complet pour voir
    0
    1. Utilisateur anonyme
       
      <?

      $adresse_serveur_base = 'localhost';

      $login_serveur = 'root';

      $MDP_serveur = '';

      $base = 'dev';

      mysql_connect("$adresse_serveur_base", "$login_serveur", "$MDP_serveur");
      mysql_select_db("$base");
      mysql_query("INSERT INTO `table` VALUES '' , 'nom' , 'message'") or die ("Impossible de se connecter à la base de données");

      ?>
      0
  9. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
     
    mysql_query("INSERT INTO nomtable VALUES ('nom','message')") or die ("Impossible de se connecter à la base de données"); 
    `table` c'est quoi?
    mets le nom de la table où tu veux inserer les données
    0
    1. Utilisateur anonyme
       
      le nom de la table c'est table
      et j ai essayer avec plusieur autre table sa ne marche pas

      en plus le problème n est pas la car je n arrive pas a me connecter a ma base de données depuis un script PHP alors que via phpmyadmin ou avec un terminal il n y a aucun problème

      je pense donc plus a un problème de configuration soit de apache ou mysql (ou peu etre de PHP)
      0
  10. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
     
    je pense donc plus a un problème de configuration soit de apache ou mysql (ou peu etre de PHP)

    je ne pense pas
    si tu peux te connecter avec phpmyadmin ça devra te suffire pour enlever cette possibilité

    je crois que c'est plutôt une erreur de syntaxe dans script, d'ailleurs je t'ai donné une possibilité
    essaie ça
    <?
    $adresse_serveur_base = 'localhost';
    $login_serveur = 'root';
    $MDP_serveur = '';
    $base = 'dev';
    
    $req = "INSERT INTO table VALUES ('nom' , 'message')";
    mysql_connect($adresse_serveur_base", $login_serveur,$MDP_serveur);
    mysql_select_db($base);
    mysql_query($req) or die ("Impossible de se connecter à la base de données");
    ?>
    
    0
    1. Utilisateur anonyme
       
      avec :
      <?
      $adresse_serveur_base = 'localhost';
      $login_serveur = 'root';
      $MDP_serveur = '';
      $base = 'dev';
      
      $req = "INSERT INTO table VALUES ('nom' , 'message')";
      mysql_connect($adresse_serveur_base", $login_serveur,$MDP_serveur);
      mysql_select_db($base);
      mysql_query($req) or die ("Impossible de se connecter à la base de données");
      ?>


      J ai : Parse error: syntax error, unexpected '"' in /var/www/test1.php on line 8

      j enlève l apostrophe

      Et j ai toujours ce maudit
      Impossible de se connecter à la base de données
      0
  11. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
     
    affiche aussi le résultat de
    mysql -u root -p
    Enter password:
    Welcome to the MySQL monitor. Commands end with ; or \g.
    Your MySQL connection id is 29
    Server version: 5.0.32-Debian_7etch1-log Debian etch distribution
    
    Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
    
    mysql> use dev
    Reading table information for completion of table and column names
    You can turn off this feature to get a quicker startup with -A
    
    Database changed
    mysql> show tables;
    0
    1. Utilisateur anonyme
       
      mysql> show tables;
      +---------------+
      | Tables_in_dev |
      +---------------+
      | table |
      +---------------+
      1 row in set (0.00 sec)

      mysql>
      0
  12. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
     
    je teste ce script et ça marche sans problèmes chez moi
    <?
    $adresse_serveur_base = 'localhost';
    $login_serveur = 'root';
    $MDP_serveur = 'aaaaaaaa';
    $base = 'dev';
    
    $req = "INSERT INTO personel VALUES ('nom' , 'message')";
    mysql_connect($adresse_serveur_base, $login_serveur,$MDP_serveur);
    mysql_select_db($base);
    mysql_query($req) or die ("Impossible de se connecter à la base de données");
    ?>
    
    affiche
    ps aux | grep mysql
    ls -l /var/lib/mysql
    0
    1. Utilisateur anonyme
       
      jerome@debian:~$ ps aux | grep mysql
      root 2802 0.0 0.2 2672 1340 ? S Aug04 0:00 /bin/sh /usr/bin/mysqld_safe
      mysql 2839 0.0 3.3 126888 17116 ? Sl Aug04 0:01 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var/run/mysqld/mysqld.pid --skip-external-locking --port=3306 --socket=/var/run/mysqld/mysqld.sock
      root 2840 0.0 0.0 1560 508 ? S Aug04 0:00 logger -p daemon.err -t mysqld_safe -i -t mysqld
      jeje 15195 0.0 0.4 6920 2504 pts/0 S+ 14:29 0:00 mysql -u root -p
      jeje 15277 0.0 0.1 2880 760 pts/1 R+ 14:31 0:00 grep mysql

      jeje@debian:~$ ls -l /var/lib/mysql
      total 20540
      -rw-r--r-- 1 root root 0 2007-08-04 17:36 debian-5.0.flag
      drwx------ 2 mysql mysql 4096 2007-08-05 14:30 dev
      -rw-rw---- 1 mysql mysql 10485760 2007-08-04 19:03 ibdata1
      -rw-rw---- 1 mysql mysql 5242880 2007-08-04 19:03 ib_logfile0
      -rw-rw---- 1 mysql mysql 5242880 2007-08-04 17:36 ib_logfile1
      drwxr-xr-x 2 mysql root 4096 2007-08-04 19:03 mysql
      -rw------- 1 root root 6 2007-08-04 17:36 mysql_upgrade_info
      jeje@debian:~$
      0
  13. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
     
    et
     ls -ld /var/lib/mysql
    0
    1. Utilisateur anonyme
       
      jeje@debian:~$ ls -ld /var/lib/mysql
      drwxr-xr-x 6 mysql mysql 4096 2007-08-04 20:02 /var/lib/mysql
      0
  14. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
     
    tu dis que ce script te donne le message d'erreur?
    <?
    $adresse_serveur_base = 'localhost';
    $login_serveur = 'root';
    $MDP_serveur = '';
    $base = 'dev';
    
    $req = "INSERT INTO table VALUES ('nom' , 'message')";
    mysql_connect($adresse_serveur_base, $login_serveur,$MDP_serveur);
    mysql_select_db($base);
    mysql_query($req) or die ("Impossible de se connecter à la base de données");
    ?>
    0
    1. Utilisateur anonyme
       
      oui
      et sa commence a m énervé parce que je ne vois pas d ou cela vient
      0
  15. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
     
    essaie aussi en ligne de commande
    INSERT INTO table VALUES ('nom' , 'message');
    0
    1. Utilisateur anonyme
       
      mysql> INSERT INTO table VALUES ('nom' , 'message');
      ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'table VALUES ('nom' , 'message')' at line 1


      mysql> INSERT INTO `table` ( `nom` , `message` ) VALUES ('yugjgh', 'jhgjgh');
      Query OK, 1 row affected (0.00 sec)

      J ai pas compris la
      0
    2. Utilisateur anonyme
       
      j ai modifier mon script

      mysql_connect("localhost", "root", "");
      mysql_select_db("$base");
      
      // On insert les variable dans la base de donnée
      mysql_query("INSERT INTO `table` (  `expediteur`  `message` ) 
      VALUES ( '$nom', '$message')") 
      or die ("Impossible de se connecter à la base de données");
      


      Et maintenant sa marche

      je trouve qu'il est capricieux quand meme

      en tous cas merci a toi lami20j
      0
  16. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
     
    je trouve qu'il est capricieux quand meme
    c'est normal quand tu utilises des mots clés mysql pour nommer ta table
    voir le message precédent l'explications avec les commandes

    et n'oublie pas que tu t'es trompé aussi pour la syntaxe de la commande INSERT

    bonne continuation
    0