Résolu Recuperer une valeur dans une BDD

Statut
N'est pas ouverte pour d'autres réponses.

Yelloww

Joueur CS:GO bitch!
Premium
Inscription
11 Mars 2012
Messages
574
Réactions
160
Points
20 088
RGCoins
45
Bonjour,
Voici ce que je cherche à faire.

J'ai une table, appelée 'user' composé de 'id', 'name', 'email', 'allowed'.

Je fais vous faire un exemple, voici le contenu de ma table user

1 nom1 email1 true
2 nom2 email2 false
3 nom3 email3 true

J'aimerai afficher nom1 grâce à email1, et stocker la valeur nom1 récupéré dans une variable, $nom
Vraiment je bloque dessus c'est en train de m’énerver, c'est quelque chose de basique mais je n'en peux plus mdrrr
J'utilise MySQLi

merci d'avance :)
 
Le query je l'ai, c'est après pour afficher que je n'arrive pas..
PHP:
$result = $mysqli->query("SELECT name FROM user WHERE email = 'email1'");
 
Salut Yelloww,

Pour commencé, je t'invite à passer à la PDO.
Et ton code serait donc :
PHP:
<?php
// On crée la connexion à la base de donnée (en l'occurrence la en local)
$BDD = new PDO('mysql:host=localhost;dbname=dbname', 'root', 'root');

// On effectue notre requête SQL
$get_user = $BDD->prepare("SELECT * FROM user WHERE email = ?");
$get_user->execute(array($email1));

// On crée une boucle pour afficher tout les résultats
while($user = $get_user->fetch()){
    echo $user['nom1 ']; // ( 'nom1' = le nom du champ dans ta table, peut-être que tu dois le remplacer) => Affiche le nom des utilisateurs
    echo $user['email1']; // ( 'email1' = le nom du champ dans ta table, peut-être que tu dois le remplacer) => Affiche l'adresse email des utilisateurs
}
?>

Je sais pas si c'est se que tu cherchais à faire, j'ai pas très bien comprit ton explication .
 
Salut Yelloww,

Pour commencé, je t'invite à passer à la PDO.
Et ton code serait donc :
PHP:
<?php
// On crée la connexion à la base de donnée (en l'occurrence la en local)
$BDD = new PDO('mysql:host=localhost;dbname=dbname', 'root', 'root');

// On effectue notre requête SQL
$get_user = $BDD->prepare("SELECT * FROM user WHERE email = ?");
$get_user->execute(array($email1));

// On crée une boucle pour afficher tout les résultats
while($user = $get_user->fetch()){
    echo $user['nom1 ']; // ( 'nom1' = le nom du champ dans ta table, peut-être que tu dois le remplacer) => Affiche le nom des utilisateurs
    echo $user['email1']; // ( 'email1' = le nom du champ dans ta table, peut-être que tu dois le remplacer) => Affiche l'adresse email des utilisateurs
}
?>

Je sais pas si c'est se que tu cherchais à faire, j'ai pas très bien comprit ton explication .
On peut faire plus simple par rapport à ce qu'il demande :
PHP:
<?php

$pdo = new PDO('mysql:host=localhost;dbname=database', 'root', root');

$query = $pdo->prepare('SELECT name FROM users WHERE email = :email');

$query->bindValue(':email', '[email protected]', PDO::PARAM_STR);

// $query = résultat de la requête

Au lieu de tout récupérer on sélectionne uniquement le pseudonyme ainsi si notre site se développe ce genre de détails permet de limiter les ressources utilisées :-)
 
Hello Yelloww,

Je me suis permis de déplacer ton sujet car il se trouvait dans la mauvaise section.

Si c'était une erreur de ma part, contacte moi avec l'endroit où tu voudrais qu'il soit !

Merci beaucoup,
Gueckoz SEC
 
On peut faire plus simple par rapport à ce qu'il demande :
PHP:
<?php

$pdo = new PDO('mysql:host=localhost;dbname=database', 'root', root');

$query = $pdo->prepare('SELECT name FROM users WHERE email = :email');

$query->bindValue(':email', '[email protected]', PDO::PARAM_STR);

// $query = résultat de la requête

Au lieu de tout récupérer on sélectionne uniquement le pseudonyme ainsi si notre site se développe ce genre de détails permet de limiter les ressources utilisées ::):
Merci pour vos réponses, désolé de ne répondre que maintenant.
quels sont les 'paramètres' de bindValue ? parceque je vois :email, avec l'application je vois pas trop, en théorie ce serait quoi? Je m'exprime peut-être mal je sais pas si tu vois ce que je veux dire par là
 
Merci à vous, j'ai réussis, même si MySQLi ce n'est pas PDO.. voici ce que j'ai fait
PHP:
$mysqli = new mysqli($servername, $username, $password, $dbname);
$reportedby_name = $mysqli->query("SELECT name FROM user WHERE mail = '".$mail."'")->fetch_object()->name;
 
Merci à vous, j'ai réussis, même si MySQLi ce n'est pas PDO.. voici ce que j'ai fait
PHP:
$mysqli = new mysqli($servername, $username, $password, $dbname);
$reportedby_name = $mysqli->query("SELECT name FROM user WHERE mail = '".$mail."'")->fetch_object()->name;
Belle faille SQL, il ne faut pas passer directement ta variable en requête ;)
 
Edit:
J'utilise afin de laisser les utilisateurs se connecter à mon site
et la valeur $mail est en réalité une valeur de SteamAuthentification, j'ai modifié le $mail pour l'exemple.
Voici mon $mail qui dans mon code est appelé $steamid
Code:
$steamid = $steamprofile['steamid'];
 
Statut
N'est pas ouverte pour d'autres réponses.
Retour
Haut