Afficher le résultat d'une requête SQL
Fermé
Codedu59
-
Modifié par Codedu59 le 22/08/2015 à 11:43
jordane45 Messages postés 38310 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 24 novembre 2024 - 24 août 2015 à 15:20
jordane45 Messages postés 38310 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 24 novembre 2024 - 24 août 2015 à 15:20
A voir également:
- Afficher résultat requête sql php pdo
- Easy php - Télécharger - Divers Web & Internet
- Lexer resultat - Télécharger - Sport
- Afficher mot de passe wifi android - Guide
- Resultat foot - Télécharger - Vie quotidienne
- Afficher appdata - Guide
4 réponses
NHenry
Messages postés
15163
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
1 novembre 2024
345
Modifié par jordane45 le 23/08/2015 à 03:10
Modifié par jordane45 le 23/08/2015 à 03:10
Déjà ta condition :
Arrête ton script PHP au exit(); Donc, tu ne passe pas dans le reste du code.
Ensuite,
Il n'y a pas redondance ?
Petit rappel, l'extension mysql est obsolète
J'interviens principalement en VB6 et VB.NET, avec un peu de C#, mais la modération m'amène souvent sur d'autre langages.
En VB.NET pensez à activer "Option Explicit" et "Option Strict"
if (!isset($_SESSION['login'])) {
Arrête ton script PHP au exit(); Donc, tu ne passe pas dans le reste du code.
Ensuite,
include ('connexionBDD.php'); $base = mysql_connect ('***', '***', '***');
Il n'y a pas redondance ?
Petit rappel, l'extension mysql est obsolète
J'interviens principalement en VB6 et VB.NET, avec un peu de C#, mais la modération m'amène souvent sur d'autre langages.
En VB.NET pensez à activer "Option Explicit" et "Option Strict"
jordane45
Messages postés
38310
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
24 novembre 2024
4 705
22 août 2015 à 14:15
22 août 2015 à 14:15
Bonjour
tu as aussi inverse le WHERE et le FROM dans ta requête.
tu as aussi inverse le WHERE et le FROM dans ta requête.
NHenry
Messages postés
15163
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
1 novembre 2024
345
22 août 2015 à 14:27
22 août 2015 à 14:27
Tu peux ajouter la logique de ces 2 lignes :
$sql = mysql_query ("SELECT * WHERE membre FROM login = '".$_SESSION["login"]."' ") ; $req = mysql_query($sql)
jordane45
Messages postés
38310
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
24 novembre 2024
4 705
22 août 2015 à 16:01
22 août 2015 à 16:01
... c'est bien de cette requête dont je parlais. ..
NHenry
Messages postés
15163
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
1 novembre 2024
345
22 août 2015 à 16:21
22 août 2015 à 16:21
Récupérer le résultat d'une requête pour refaire une requête avec ça ne peut pas fonctionner.
J'ai changé le code en fonction de ce que vous m'avez dit mais je ne trouve pas l'erreur car toujours rien ne s'affiche
<?php session_start(); if (!isset($_SESSION['login'])) { header ('Location: ***'); $base = mysql_connect ('***', '***', '***'); mysql_select_db ('***', $base); $sql = mysql_query ("SELECT * FROM membre WHERE login = '".$_SESSION["login"]."' ") or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error()); $data = mysql_fetch_array($sql); mysql_free_result ($data); mysql_close (); exit(); } ?>
totoyo47
Messages postés
260
Date d'inscription
vendredi 10 juillet 2009
Statut
Membre
Dernière intervention
30 mars 2020
133
Modifié par totoyo47 le 22/08/2015 à 22:46
Modifié par totoyo47 le 22/08/2015 à 22:46
Tu remplaces :
par, me semble-t-il :
Bien sûr, tu remplaces <nom_de_la_colonne> par le nom du champ de la table membre de ta base sql.
$data = mysql_fetch_array($sql);
par, me semble-t-il :
foreach $sql as $array { echo $array['<nom_de_la_colonne>']; }
Bien sûr, tu remplaces <nom_de_la_colonne> par le nom du champ de la table membre de ta base sql.
jordane45
Messages postés
38310
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
24 novembre 2024
4 705
Modifié par jordane45 le 23/08/2015 à 03:13
Modifié par jordane45 le 23/08/2015 à 03:13
Bon...
voici le code corrigé :
Par contre.... comme déjà dit auparavent.. tu utilises l'ancienne extension mysql... il serait préférable que tu passes à mysqli_* ou (je préfère...) la PDO.
Merci de lire ceci :
https://www.commentcamarche.net/faq/43261-php-l-extension-mysql-est-obsolete#top
https://www.commentcamarche.net/faq/44117-connexion-a-une-base-avec-pdo-mysqli
.
EDIT : Ajout de la vérification sur le résultat de la requête avant d'afficher le "bonjour.."
Cordialement,
Jordane
voici le code corrigé :
<?php //Démarrage "propre" des sessions : if(session_id() == '') { session_start(); } //--------------------------------- //Connexion à la BDD //--------------------------------- require_once 'connexionBDD.php'; //--------------------------------- //Récupération "propre" des variables //--------------------------------- $Session_login = !empty($_SESSION['login'])?$_SESSION['login']:NULL; if ($Session_login) { //--------------------------------- // récupération des informations du user //--------------------------------- //on met la requête dans une variable ($sql) $sql = "SELECT * FROM membre WHERE login = '$Session_login' "; // on execute la requete : $resultat = mysql_query ($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error()); // retourne un tableau qui contient la première ligne de $resultat $data = mysql_fetch_array($resultat); mysql_free_result ($data); mysql_close (); }else{ //--------------------------------- //redirection si non connecté //--------------------------------- header ('Location: ***'); exit(); } ?> <!-- Le reste de ton code .. par exemple : --> <!doctype html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <title>TEST</title> </head> <body> <?php if(count($data)>0){ // si la requête a retourné un résultat echo " Bienvenue ".$data['login']: } ?> </body> </html>
Par contre.... comme déjà dit auparavent.. tu utilises l'ancienne extension mysql... il serait préférable que tu passes à mysqli_* ou (je préfère...) la PDO.
Merci de lire ceci :
https://www.commentcamarche.net/faq/43261-php-l-extension-mysql-est-obsolete#top
https://www.commentcamarche.net/faq/44117-connexion-a-une-base-avec-pdo-mysqli
.
EDIT : Ajout de la vérification sur le résultat de la requête avant d'afficher le "bonjour.."
Cordialement,
Jordane
Avec ce code:
Il y a toujours un problème vu que le login ne s'affiche pas et une erreur s'affiche:
Warning: mysql_free_result() expects parameter 1 to be resource, array given in *** on line 31
<?php //Démarrage "propre" des sessions : if(session_id() == '') { session_start(); } //--------------------------------- //Connexion à la BDD //--------------------------------- require_once ('connexionBDD.php'); //--------------------------------- //Récupération "propre" des variables //--------------------------------- $Session_login = !empty($_SESSION['login'])?$_SESSION['login']:NULL; if ($Session_login) { //--------------------------------- // récupération des informations du user //--------------------------------- //on met la requête dans une variable ($sql) $sql = "SELECT * FROM membre WHERE login = '$Session_login' "; // on execute la requete : $resultat = mysql_query ($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error()); // retourne un tableau qui contient la première ligne de $resultat $data = mysql_fetch_array($resultat); mysql_free_result ($data); mysql_close (); } else{ //--------------------------------- //redirection si non connecté //--------------------------------- header ('Location: ***'); exit(); } ?>
Il y a toujours un problème vu que le login ne s'affiche pas et une erreur s'affiche:
Warning: mysql_free_result() expects parameter 1 to be resource, array given in *** on line 31
EDIT : Ajout du LANGAGE dans les balises de code (la coloration syntaxique).
Explications disponibles ici : ICI Merci d'y penser dans tes prochains messages. |
jordane45
Messages postés
38310
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
24 novembre 2024
4 705
23 août 2015 à 13:27
23 août 2015 à 13:27
Une erreur. ... LAQUELLE ??
jordane45
Messages postés
38310
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
24 novembre 2024
4 705
Modifié par jordane45 le 23/08/2015 à 17:12
Modifié par jordane45 le 23/08/2015 à 17:12
Oui en effet.. j'ai bêtement copié ton code....
Modifie comme ceci :
Modifie comme ceci :
// on execute la requete : $resultat = mysql_query ($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error()); // retourne un tableau qui contient la première ligne de $resultat $data = mysql_fetch_array($resultat); mysql_free_result($resultat); mysql_close ();