Rechercher : dans
Par :

[Debian] Probleme avec Mysql

Dernière réponse le 5 aoû 2007 à 15:14:47 jeje-50, le 4 aoû 2007 à 19:57:35 
 Signaler ce message aux modérateurs

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

Meilleures réponses pour « [Debian] Probleme avec Mysql » dans :
Installation rapide de LAMP (Apache+MySql+php) sous Linux VoirLAMP = Linux+Apache+MySql+Php. C'est le serveur web par excellence. L'ensemble est facile à installer. Installation rapide sudo aptitude install apache2 php5 mysql-server php5-mysql libapache2-mod-php5 Le mot de passe administrateur mySQL...
[Debian][HowTo] Xorg7 - installer drivers nvidia VoirXorg7 - installer drivers nvidia Dans ce tutoriel nous allons aborder comment installer les drivers nvidia sous debian. Tout ce qui dit est valable pour d'autres distributions basées sur debian comme par exemple ubuntu. Toutefois pour cette...
Réinitialiser le mot de passe root de MySQL VoirQue ce soit lors de la première installation ou après la perte du mot de passe principal de MySQL, il est nécessaire de pouvoir modifier le mot de passe administrateur (root) de MySQL. Vous avez perdu le mot de passe root de MySQL ? Pour pouvoir...
Importer et exporter des données sous MySQL VoirImportation et exportation Les Système de Gestion de Bases de Données tels que MySQL permettent de manipuler facilement et avec beaucoup de souplesse un très important volume de données. Toutefois, aussi robuste soit MySQL, il peut être intéressant...
MySQL - Installation sous Windows VoirPrésentation de MySQL MySQL est un Système de Gestion de Bases de Données (SGBD) fonctionnant sous Linux et Windows. Depuis la version 3.23.19, MySQL est sous Licence GPL (aussi bien sous Linux que Windows), ce qui signifie qu'il peut être utilisé...

1

lami20j, le 4 aoû 2007 à 20:35:17

Salut,

ouvre une console et tape

mysql -u root -p
et suis les instructions
ensuite affiche ce que tu vois à l'écran lami20j

Répondre à lami20j

2

jeje-50, le 4 aoû 2007 à 23:21:17

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>

Répondre à jeje-50

3

jeje-50, le 5 aoû 2007 à 12:33:27

Je pense que sa vient plus d un probleme de configuration d apache ou de mysql

Répondre à jeje-50

4

bob031, le 5 aoû 2007 à 12:50:06

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 ....).

:-))

Répondre à bob031

5

jeje-50, le 5 aoû 2007 à 12:55:09

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

Répondre à jeje-50

6

lami20j, le 5 aoû 2007 à 12:59:38

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
lami20j

Répondre à lami20j

7

jeje-50, le 5 aoû 2007 à 13:04:16

$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>

Répondre à jeje-50

8

bob031, le 5 aoû 2007 à 13:04:51

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 .....

:-))

Répondre à bob031

9

jeje-50, le 5 aoû 2007 à 13:06:31

Il n est pas indiquer car il n y en a pas

Répondre à jeje-50

10

lami20j, le 5 aoû 2007 à 13:22:58

Affiche ton script complet pour voir lami20j

Répondre à lami20j

11

jeje-50, le 5 aoû 2007 à 13:42:45

<?

$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");

?>

Répondre à jeje-50

12

lami20j, le 5 aoû 2007 à 14:01:14

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 lami20j

Répondre à lami20j

13

jeje-50, le 5 aoû 2007 à 14:08:39

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)

Répondre à jeje-50

14

lami20j, le 5 aoû 2007 à 14:16:10

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");
?>
lami20j

Répondre à lami20j

16

jeje-50, le 5 aoû 2007 à 14:21:46

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

Répondre à jeje-50

15

lami20j, le 5 aoû 2007 à 14:18:13

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;
lami20j

Répondre à lami20j

17

jeje-50, le 5 aoû 2007 à 14:25:40

Mysql> show tables;
+---------------+
| Tables_in_dev |
+---------------+
| table |
+---------------+
1 row in set (0.00 sec)

mysql>

Répondre à jeje-50

18

lami20j, le 5 aoû 2007 à 14:29:37

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
lami20j

Répondre à lami20j

19

jeje-50, le 5 aoû 2007 à 14:33:03

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:~$

Répondre à jeje-50

20

lami20j, le 5 aoû 2007 à 14:38:48

Et

 ls -ld /var/lib/mysql
lami20j

Répondre à lami20j

21

jeje-50, le 5 aoû 2007 à 14:41:26

Jeje@debian:~$ ls -ld /var/lib/mysql
drwxr-xr-x 6 mysql mysql 4096 2007-08-04 20:02 /var/lib/mysql

Répondre à jeje-50

22

lami20j, le 5 aoû 2007 à 14:46:49

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");
?>
lami20j

Répondre à lami20j

24

jeje-50, le 5 aoû 2007 à 14:52:05

Oui
et sa commence a m énervé parce que je ne vois pas d ou cela vient

Répondre à jeje-50

23

lami20j, le 5 aoû 2007 à 14:51:19

Essaie aussi en ligne de commande

INSERT INTO table VALUES ('nom' , 'message');
lami20j

Répondre à lami20j

25

jeje-50, le 5 aoû 2007 à 14:59:58

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

Répondre à jeje-50

26

jeje-50, le 5 aoû 2007 à 15:07:53

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

Répondre à jeje-50

27

lami20j, le 5 aoû 2007 à 15:09:01
  • +2

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>
lami20j

Répondre à lami20j

29

jeje-50, le 5 aoû 2007 à 15:13:43

<?
$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

Répondre à jeje-50

30

 jeje-50, le 5 aoû 2007 à 15:14:47

Merci encore

Répondre à jeje-50

28

lami20j, le 5 aoû 2007 à 15:11:51

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 lami20j

Répondre à lami20j