|
|
|
|
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
Salut,
|
Salut,
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 nomdetabaselami20j |
Répondre à lami20j
|
Répondre à lami20j
|
je pense donc plus a un problème de configuration soit de apache ou mysql (ou peu etre de PHP)
<?
$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
|
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 |
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/mysqllami20j
|
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
|
Ok, j'ai compris pourquoi
<?
$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
|