[Debian] Probleme avec Mysql
Résolu
Utilisateur anonyme
-
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
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
A voir également:
- [Debian] Probleme avec Mysql
- Mysql community server - Télécharger - Bases de données
- Debian freeze - Forum Debian
- Fedora ou debian - Guide
- Mysql a répondu : documentation connexion impossible : paramètres incorrects. - Forum Bases de données
- Miroir de l'archive debian corrompu - Forum Debian
15 réponses
ok, j'ai compris pourquoi
essai
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
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>
Salut,
ouvre une console et tape
ensuite affiche ce que tu vois à l'écran
ouvre une console et tape
mysql -u root -pet suis les instructions
ensuite affiche ce que tu vois à l'écran
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 ....).
:-))
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 ....).
:-))
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
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
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
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 .....
:-))
mysql_connect("localhost", "root", "");
parce que là c'est pas indiqué !
mais peut-être que je dis des bêtises .....
:-))
affiche ton script complet pour voir
<?
$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");
?>
$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");
?>
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
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)
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)
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
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"); ?>
avec :
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
<? $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
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;
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
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:~$
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:~$
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"); ?>
essaie aussi en ligne de commande
INSERT INTO table VALUES ('nom' , 'message');
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
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
j ai modifier mon script
Et maintenant sa marche
je trouve qu'il est capricieux quand meme
en tous cas merci a toi lami20j
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
$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