[RESOLU] Executer 2 Commandes SQL dans le même fichier php

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [RESOLU] Executer 2 Commandes SQL dans le même fichier php

Re: Executer 2 Commandes SQL dans le même fichier php

par schim59 » 18 sept. 2012, 12:27

@moogli merci pour l'adresse

Re: Executer 2 Commandes SQL dans le même fichier php

par Mazarini » 18 sept. 2012, 08:29

Je te conseille de tester ton code avec un navigateur pour voir s'il fonctionne correctement. Tu ne t'en sortiras pas si tu mélanges les problèmes lié à l'iphone et ceux liés au serveur. D'après ce que je voie, ca a l'air bon du coté php.

Eventuellement fait les 2 accès et fait les echos par la suite.

Re: Executer 2 Commandes SQL dans le même fichier php

par moogli » 18 sept. 2012, 07:31

Salut

Au vu de ton code ajoute simplement les champs qu'il te manque dans ta requête (dont tu n'exploite pas les données) et met $row en session.

Si tu as un problème de compréhension des sessions tu peux regarder sur http://www.phpdebutant.org


@+

Re: Executer 2 Commandes SQL dans le même fichier php

par schim59 » 18 sept. 2012, 06:39

Pourrais tu nous afficher la base de données ?

ps: pourquoi mettre session_start (): ?

Re: Executer 2 Commandes SQL dans le même fichier php

par tomlacroix » 17 sept. 2012, 22:04

Bonsoir,

Clairement :
J'ai deux interfaces.
Login, et EspacePerso, mon login comporte deux Champs Textfield et un bouton Connexion, je rentre mes identifiants, et j'appuies sur le bouton connexion,
a partir de cette action, ce script se lance :
<?php
session_start();

mysql_connect ("localhost","root","root");
mysql_select_db ("dbifield");

if(isset($_POST['login']))	$login=$_POST['login'];
else $login ='iphone77';
if(isset($_POST['pass']))	$pass=$_POST['pass'];
else $pass = 'maison';

$requete = "SELECT login, pass FROM membres WHERE login='$login' AND pass='$pass'";

$login = mysql_query($requete);

if (mysql_num_rows($login) == 1)  {
$row = mysql_fetch_assoc($login);
echo "Yes";

} else {
echo "No";
}
mysql_close();
?>
Si L'echo est "Yes", cet echo est lu dans la console, et l'app Swich de Login à EspacePerso.

Je voulais donc ajouter une seconde commande SQL, pour sélectionner les informations personnelles de l'utilisateur, et utiliser $_SESSION, et permettre d'echo la selection de la table SQL "membres" d'après la commande, dans un autre .php, et de la, cela permettrait de pouvoir donc afficher dans un element texte l'info/les informations personnelles.

Est-ce que c'est assez clair ?

Bonne soirée

Re: Executer 2 Commandes SQL dans le même fichier php

par xTG » 17 sept. 2012, 18:41

Ton problème vient sans aucun doute de l'application iphone alors.
Tu interprètes les oui/non mais pas les doubles oui/non.

Quel est le fonctionnement que tu souhaites, car la réponse est booléenne (vrai/faux).
Une réponse pour les deux requêtes ? Ou bien une réponse distincte pour chaque requête ?

Re: Executer 2 Commandes SQL dans le même fichier php

par tomlacroix » 17 sept. 2012, 16:59

Salut, non c'est un code pour exemple, que j'ai testé au préalable mais qui ne fonctionne pas.
la solution que tu propose ne m'arrange peu.

J'explique.
Comme dit plus haut, j'utilise ce script Php qui va réagir avec une app iPhone, en clair, comme on peut voir, $requete au bout du bout va echo un "Yes" ou un "No".
Si c'est un Yes, c'est que les informations de connexions vu plus haut sont valable, a partir de la connexion iphone.
Si c'est No, c'est donc qu'elles ne sont pas valide.

Si la console recoit un Yes, mon app Switch vers l'espace perso, et inverse, si c'est No, j'ai un message d'erreur.

C'est donc pour cela que je voulais utiliser une 2nd variable, pour Echo dans la console les informations utilisateur, et en suite les afficher en Texte sur mon app iphone.
Je ne sais pas si j'ai était très clair dans mes explications, mais en gros j'ai vraiment besoin de deux commandes SQL séparées.

J'avais également essayé une fois $requete fait, de Switch sur une autre page .php et d'y executer directement là une 2nd commande SQL, mais comment lier les informations recu dans First.php jusqu'a second.php ?
j'avais egalement testé "Include" mais ce n'est pas ce dont j'ai besoin..

Re: Executer 2 Commandes SQL dans le même fichier php

par xTG » 17 sept. 2012, 16:50

Les deux requêtes sont là pour l'exemple ou bien c'est véritablement ton code ?
Car vu ce que tu fais cela revient à vérifier l'existence d'un membre sans interpréter ses données.
Donc la première est strictement égale à la seconde.
Si ton but est de stocker par la suite les infos en session :
$requete = "SELECT login, pass, email FROM membres WHERE login='$login' AND pass='$pass'";
ferra très bien l'affaire en récupérant le tout en une seule fois. ;)

Re: Executer 2 Commandes SQL dans le même fichier php

par tomlacroix » 17 sept. 2012, 16:28

Par ailleurs j'ai essayé de faire fonctionner uniquement $requete1 sans $requete, et inverse, les deux fonctionnent, c'est seulement l'une avec l'autre que cela ne fonctionne pas...

Je ne trouve pas l'erreur :cry:

Re: Executer 2 Commandes SQL dans le même fichier php

par tomlacroix » 17 sept. 2012, 16:24

Bonjour, après tentative, j'ai remplacé tout ce qu'il fallait, en gros j'ai dupliqué la requete de la sorte :
<?php
session_start();

mysql_connect ("localhost","root","root");
mysql_select_db ("dbifield");

if(isset($_POST['login']))	$login=$_POST['login'];
else $login ='iphone77';
if(isset($_POST['pass']))	$pass=$_POST['pass'];
else $pass = 'maison';

$requete = "SELECT login, pass FROM membres WHERE login='$login' AND pass='$pass'";

$login = mysql_query($requete);


if (mysql_num_rows($login) == 1)  {
$row = mysql_fetch_assoc($login);
echo "Yes";

} else {
echo "No";
}

$requete1 = "SELECT email FROM membres WHERE login='$login' AND pass='$pass'";

$login1 = mysql_query($requete1);

if (mysql_num_rows($login1) == 1)  {
$row1 = mysql_fetch_assoc($login1);
echo "OK";
} else {
	
echo "NON OK";
}

mysql_close();
?>
et ça ne marche toujours pas, Help?

Re: Executer 2 Commandes SQL dans le même fichier php

par tomlacroix » 17 sept. 2012, 16:04

Salut, Merci c'est exactement ce que je cherchais, je vais tester et je vous tient au jus !

Re: Executer 2 Commandes SQL dans le même fichier php

par Angela81 » 17 sept. 2012, 15:59

Bonjour

je le fait sur certaines de mes pages et ça marche (après , ce n'est peut-être pas conforme aux régles de l'art php)
Pour la requete n°1,tu remplace ton
$requete = "SELECT login, pass FROM membres WHERE login='$login' AND pass='$pass'";
$login = mysql_query($requete);

if (mysql_num_rows($login) == 1) {
$row = mysql_fetch_assoc($login);

par
$requete1 = "SELECT login, pass FROM membres WHERE login='$login' AND pass='$pass'";
$login1 = mysql_query($requete1);

if (mysql_num_rows($login1) == 1) {
$row1 = mysql_fetch_assoc($login1);

Pour la seconde requete, tu remplace le 1 par un 2, etc....

Re: Executer 2 Commandes SQL dans le même fichier php

par schim59 » 17 sept. 2012, 15:25

Bonjour,

On peut affecter une requête à une variable par exemple $sql1 puis $sql2 pour la seconde.

Bon codage.

Re: Executer 2 Commandes SQL dans le même fichier php

par Mazarini » 17 sept. 2012, 13:31

Il faudrait que tu nous montres comment tu fais tes 2 requêtes. Il suffit de faire les requêtes l'une après l'autre.

A tout hasard, il ne faut pas fermer la connexion à la base avant de faire la seconde requête. C'est peut être la cause de ton problème.

Executer 2 Commandes SQL dans le même fichier php

par tomlacroix » 17 sept. 2012, 13:24

Bonjour,

Voilà mon script :
<?php
session_start();

mysql_connect ("localhost","root","root");
mysql_select_db ("dbifield");

if(isset($_POST['login']))	$login=$_POST['login'];
else $login ='iphone77';
if(isset($_POST['pass']))	$pass=$_POST['pass'];
else $pass = 'maison';

$requete = "SELECT login, pass FROM membres WHERE login='$login' AND pass='$pass'";

$login = mysql_query($requete);


if (mysql_num_rows($login) == 1)  {
$row = mysql_fetch_assoc($login);
echo "Yes";

} else {
echo "No";
}
mysql_close();
?>
J'aurai voulu pouvoir insérer dans le script une seconde commande SQL, seulement je n'y arrive pas, j'ai testé plusieurs fois, a chaque fois différemment, et rien a faire, cela ne fonctionne pas...
Auriez vous la solution pour insérer une 2nd commande SQL ? De cette façon permettre deux action en même temps.
Je vous remercie