BDD fonctionne sur FREE, mais pas en local
mixINC
Messages postés
2
Date d'inscription
Statut
Membre
Dernière intervention
-
mixINC -
mixINC -
Bonjour à tous,
j'ai besoin de votre aide concernant les bases de données SQL.
J'ai devellopé un site PHP/MYSQL qui comprend 1 BDD et 5 tables. Sur les serveurs FREE, ça fonctionne très bien (afffichage des données entrées, création et modifications des entrées...). J'ai donc voulu faire de meme en local sur mon PC (XP SP3) en utilisant WAMP Server2.0i...l'installation de wamp s'est bien déroulée, j'accède à PphpMyadmin, à mon localhost...pas de probleme.
Via PhpMyadmin de FREE, j'ai récuperé la BDD comprenant les tables et l'ai incluse dans phpmyadmin de WAMP.
L'importation de ma BDD s'est bien passé mais maintenant quand j'ouvre ma premiere page PHP via localhost, qui demande un login, password (c'est normal, c'est le but) il me dit : Unknown database 'users'... alors qu'elle est bien présente dans ma base. Je ne comprends pas, ça fonctionne bien sur les serveurs FREE.
Dans mon code de la premiere page, je fais une requete de la table users.
voilà le début de code de ma premiere page :
<?php
// Connects to your Database
mysql_connect("localhost", "maBDDFREE", "monmotdepasseBDDFREE") or die(mysql_error());
mysql_select_db("users") or die(mysql_error());
//checks cookies to make sure they are logged in
if(isset($_COOKIE['ID_my_site']))
{
$username = $_COOKIE['ID_my_site'];
$pass = $_COOKIE['Key_my_site'];
$check = mysql_query("SELECT * FROM users WHERE username = '$username'")or die(mysql_error());
while($info = mysql_fetch_array( $check ))
{
//if the cookie has the wrong password, they are taken to the login page
if ($pass != $info['password'])
{ header("Location: login.php");
}
//otherwise they are shown the admin area
else
{
echo "";
}
}
}
else
//if the cookie does not exist, they are taken to the login screen
{
header("Location: login.php");
}
?>
Je pense que le probleme vient de la ligne :
$check = mysql_query("SELECT * FROM users WHERE username = '$username'")or die(mysql_error());
car si j'ajoute dans phmyadmin de wamp, une BDD users, ça fonctionne...alors que normalement, "users" est une table et non une base.
J'espère que cela peut vous aider à m'éclairer sur ce probleme.
A+
mixINC
j'ai besoin de votre aide concernant les bases de données SQL.
J'ai devellopé un site PHP/MYSQL qui comprend 1 BDD et 5 tables. Sur les serveurs FREE, ça fonctionne très bien (afffichage des données entrées, création et modifications des entrées...). J'ai donc voulu faire de meme en local sur mon PC (XP SP3) en utilisant WAMP Server2.0i...l'installation de wamp s'est bien déroulée, j'accède à PphpMyadmin, à mon localhost...pas de probleme.
Via PhpMyadmin de FREE, j'ai récuperé la BDD comprenant les tables et l'ai incluse dans phpmyadmin de WAMP.
L'importation de ma BDD s'est bien passé mais maintenant quand j'ouvre ma premiere page PHP via localhost, qui demande un login, password (c'est normal, c'est le but) il me dit : Unknown database 'users'... alors qu'elle est bien présente dans ma base. Je ne comprends pas, ça fonctionne bien sur les serveurs FREE.
Dans mon code de la premiere page, je fais une requete de la table users.
voilà le début de code de ma premiere page :
<?php
// Connects to your Database
mysql_connect("localhost", "maBDDFREE", "monmotdepasseBDDFREE") or die(mysql_error());
mysql_select_db("users") or die(mysql_error());
//checks cookies to make sure they are logged in
if(isset($_COOKIE['ID_my_site']))
{
$username = $_COOKIE['ID_my_site'];
$pass = $_COOKIE['Key_my_site'];
$check = mysql_query("SELECT * FROM users WHERE username = '$username'")or die(mysql_error());
while($info = mysql_fetch_array( $check ))
{
//if the cookie has the wrong password, they are taken to the login page
if ($pass != $info['password'])
{ header("Location: login.php");
}
//otherwise they are shown the admin area
else
{
echo "";
}
}
}
else
//if the cookie does not exist, they are taken to the login screen
{
header("Location: login.php");
}
?>
Je pense que le probleme vient de la ligne :
$check = mysql_query("SELECT * FROM users WHERE username = '$username'")or die(mysql_error());
car si j'ajoute dans phmyadmin de wamp, une BDD users, ça fonctionne...alors que normalement, "users" est une table et non une base.
J'espère que cela peut vous aider à m'éclairer sur ce probleme.
A+
mixINC
A voir également:
- BDD fonctionne sur FREE, mais pas en local
- Appdata local - Guide
- Ip local - Guide
- Word 2013 free download - Télécharger - Traitement de texte
- Partager un dossier en reseau local - Guide
- Mode sécurisé free - Forum Freebox
3 réponses
Il faut que tu sélectionne la base 'maBDDFREE' :
mysql_select_db("maBDDREE") or die(mysql_error());
La connexion à la base de données se passe en deux étapes qu'il ne faut pas confondre :
1- connexion au serveur
mysql_connect("localhost", "maBDDFREE", "monmotdepasseBDDFREE") or die(mysql_error());
2-sélection de la base de donnéess
mysql_select_db("maBDDREE") or die(mysql_error());
Dans la 1ère ligne, maBDDFREE est ton nom de connexion (login) chez free
Dans la deuxième c'est le nom de la base de données.
Chez free, nom de la base = nom d'utilisateur, mais ailleurs (en particulier en local) ça peut être différent.
mysql_select_db("maBDDREE") or die(mysql_error());
La connexion à la base de données se passe en deux étapes qu'il ne faut pas confondre :
1- connexion au serveur
mysql_connect("localhost", "maBDDFREE", "monmotdepasseBDDFREE") or die(mysql_error());
2-sélection de la base de donnéess
mysql_select_db("maBDDREE") or die(mysql_error());
Dans la 1ère ligne, maBDDFREE est ton nom de connexion (login) chez free
Dans la deuxième c'est le nom de la base de données.
Chez free, nom de la base = nom d'utilisateur, mais ailleurs (en particulier en local) ça peut être différent.
mixINC
Merci le pere.
Bonjour
S'il te dit que la base de données users n'existe pas, sans vouloir te vexer, il y a 99,99% de chances qu'elle n'existe effectivement pas.
Le problème vient de là :
mysql_select_db("users") or die(mysql_error());
Avec cette ligne, tu sélectionnes une base (et non pas une table) qui s'appelle "users". Or, ta base chez free ne s'appelle sûrement pas users. Elle porte comme nom ton login. Il faut que tu remplaces 'users' par le vrai nom de ta base. Ça marche peut-être comme ça chez free (encore que ça m'étonne) parce qu'ils ignorent cette fonction, comme on a droit à une seule base de données, la sélectionner n'a pas grand sens pour eux.
S'il te dit que la base de données users n'existe pas, sans vouloir te vexer, il y a 99,99% de chances qu'elle n'existe effectivement pas.
Le problème vient de là :
mysql_select_db("users") or die(mysql_error());
Avec cette ligne, tu sélectionnes une base (et non pas une table) qui s'appelle "users". Or, ta base chez free ne s'appelle sûrement pas users. Elle porte comme nom ton login. Il faut que tu remplaces 'users' par le vrai nom de ta base. Ça marche peut-être comme ça chez free (encore que ça m'étonne) parce qu'ils ignorent cette fonction, comme on a droit à une seule base de données, la sélectionner n'a pas grand sens pour eux.