Select sur plusieurs tables
Fermé
taratatie
-
11 oct. 2013 à 14:34
Doctor C Messages postés 627 Date d'inscription mardi 12 juin 2007 Statut Membre Dernière intervention 19 février 2016 - 11 oct. 2013 à 19:41
Doctor C Messages postés 627 Date d'inscription mardi 12 juin 2007 Statut Membre Dernière intervention 19 février 2016 - 11 oct. 2013 à 19:41
A voir également:
- Select sur plusieurs tables
- Reboot and select proper boot device - Forum Windows
- Please select boot device - Forum Matériel informatique
- Comment faire une table des matières sur word - Guide
- Sql lister les tables ✓ - Forum Programmation
- Select count * ✓ - Forum Webmastering
2 réponses
Doctor C
Messages postés
627
Date d'inscription
mardi 12 juin 2007
Statut
Membre
Dernière intervention
19 février 2016
396
11 oct. 2013 à 15:57
11 oct. 2013 à 15:57
Je suspecte 2 causes d'erreur.
1. Fait attention à tes guillemets et apostrophes. Je les ai changé ci-dessous et mettant un espace entre chacun d'eux pour la lisibilité (espace que tu peux retirer dans ton code);
2. Lorsque tu a plusieurs tables, il est bien de donner un nom court à tes tables et de faire précéder chaque champs du nom de la table à laquelle appartient ce champ.
Par exemple, si tes champs login et password se trouvent dans la table "Abonnes", je crois que cette requête SQL devrait fonctionner:
Donne-nous des nouvelles!
1. Fait attention à tes guillemets et apostrophes. Je les ai changé ci-dessous et mettant un espace entre chacun d'eux pour la lisibilité (espace que tu peux retirer dans ton code);
2. Lorsque tu a plusieurs tables, il est bien de donner un nom court à tes tables et de faire précéder chaque champs du nom de la table à laquelle appartient ce champ.
Par exemple, si tes champs login et password se trouvent dans la table "Abonnes", je crois que cette requête SQL devrait fonctionner:
$sql = "SELECT * FROM AnnonceursPublicitaires ap, Annonceurs an, Abonnes ab WHERE ab.login=' " . mysql_escape_string($_POST['login']) . " ' AND ab.password= ' " . mysql_escape_string($_POST['password']) . " ' ";
Donne-nous des nouvelles!
Doctor C
Messages postés
627
Date d'inscription
mardi 12 juin 2007
Statut
Membre
Dernière intervention
19 février 2016
396
11 oct. 2013 à 19:41
11 oct. 2013 à 19:41
Alors tu pourrais faire un seul select de ce genre:
$sql =
"SELECT * FROM AnnonceursPublicitaires ap, Annonceurs an, Abonnes ab WHERE (ap.login=' " . mysql_escape_string($_POST['login']) . " ' AND ap.password= ' " . mysql_escape_string($_POST['password']) . " ') OR (an.login=' " . mysql_escape_string($_POST['login']) . " ' AND an.password= ' " . mysql_escape_string($_POST['password']) . " ') OR (ab.login=' " . mysql_escape_string($_POST['login']) . " ' AND ab.password= ' " . mysql_escape_string($_POST['password']) . " ') ";
Si jamais tes 3 tables ont la même structure, tu pourrais aussi ne faire qu'une seule table avec cette structure puis ajouter un champ "TypeUtilisateur" qui pourrait posséder les valeurs "Annonceur publicitaire", "Annonceur" ou "Abonne".
Bonne chance!
$sql =
"SELECT * FROM AnnonceursPublicitaires ap, Annonceurs an, Abonnes ab WHERE (ap.login=' " . mysql_escape_string($_POST['login']) . " ' AND ap.password= ' " . mysql_escape_string($_POST['password']) . " ') OR (an.login=' " . mysql_escape_string($_POST['login']) . " ' AND an.password= ' " . mysql_escape_string($_POST['password']) . " ') OR (ab.login=' " . mysql_escape_string($_POST['login']) . " ' AND ab.password= ' " . mysql_escape_string($_POST['password']) . " ') ";
Si jamais tes 3 tables ont la même structure, tu pourrais aussi ne faire qu'une seule table avec cette structure puis ajouter un champ "TypeUtilisateur" qui pourrait posséder les valeurs "Annonceur publicitaire", "Annonceur" ou "Abonne".
Bonne chance!
11 oct. 2013 à 16:17
11 oct. 2013 à 19:14
11 oct. 2013 à 19:19