[RESOLU] Mettre le resultat d'une requete SQL dans une variable

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] Mettre le resultat d'une requete SQL dans une variable

Re: Mettre le resultat d'une requete SQL dans une variable

par hamdi369 » 26 déc. 2015, 22:33

Excellent :)
ça marche :)

Merci Or 1 et Sirakawa

bonne journée à vous et merci encore :)

Re: Mettre le resultat d'une requete SQL dans une variable

par sirakawa » 26 déc. 2015, 19:07

Tu remplaces la ligne echo par ce que je t'indique, tu fais après :
} else {
    echo "0 results";
}
$reponses = serialize ($resultats);
tu mets $reponses dans une session ou tu l'enregistres dans un fichier ou tu la passes en
<input type="hidden" value = "$reponses"  name = "reponses"/>

Re: Mettre le resultat d'une requete SQL dans une variable

par or 1 » 26 déc. 2015, 17:21

$chaine = "";
while($row = $result->fetch_assoc()) {
$chaine .= "id: " . $row["id"]. " - Nom: ". $row["numero"]. "<br>";
}

Re: Mettre le resultat d'une requete SQL dans une variable

par hamdi369 » 26 déc. 2015, 16:30

par exemple je lui donne l'id, et au lieu qu'il m'affiche le resultat, il le met dans une variable $reponse que d'autres script php pourront utiliser.

Re: Mettre le resultat d'une requete SQL dans une variable

par hamdi369 » 26 déc. 2015, 16:28

merci pour ta reponse mais ou je dois mettr'e ce code exactement?

en fait, j'ai juste besoin de mettre le resultat de la requete dans une variable mais surtout qu'il n'echo rien...

Re: Mettre le resultat d'une requete SQL dans une variable

par sirakawa » 26 déc. 2015, 14:36

Mieux:
$resultats = array();
if ($result->num_rows > 0) {
    // output data of each row
    while($row = $result->fetch_assoc()) 
    {

       $id = $row["id"];
       $numero = $row["numero"];
       $nom = $row["nom"]
        $resultats[$id] ["id"] = $id;
       $resultats[$id] ["numero"] = $numero;
       $resultats[$id] ["nom"] = $nom;
       //ou  simplement = $resultats[] = $row;
        //echo "id: " . $row["id"]. " - Nom: ". $row["numero"]. "<br>";
    }
} else {
    echo "0 results";
}

Re: Mettre le resultat d'une requete SQL dans une variable

par sirakawa » 26 déc. 2015, 14:29

Bjr,
$resultats = array();
if ($result->num_rows > 0) {
    // output data of each row
    while($row = $result->fetch_assoc()) 
    {
        $resultats[] = $row["numero"]; // ou $row["le champ voulu"];
        //echo "id: " . $row["id"]. " - Nom: ". $row["numero"]. "<br>";
    }
} else {
    echo "0 results";
}
et maintenant tu te sers du tableau resultats

Mettre le resultat d'une requete SQL dans une variable

par hamdi369 » 26 déc. 2015, 13:33

Bonjour

j'ai un script php (requete.php) qui interroge une base de donnée, et qui "output" le resultat avec echo:
<?php
$servername = "localhost";
$username = "hamdi";
$password = "motdepasse";
$dbname = "bdd";

// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
} 

$recheche = $_POST['id'];
$sql = "SELECT id, nom, numero FROM ami WHERE id = ".$recheche;
$result = $conn->query($sql);

if ($result->num_rows > 0) {
    // output data of each row
    while($row = $result->fetch_assoc()) {
        echo "id: " . $row["id"]. " - Nom: ". $row["numero"]. "<br>";
    }
} else {
    echo "0 results";
}
$conn->close();
?>
Il fonctionne tres bien, cependant je n'ai besoin pas qu'il m'echo ce resultat mais juste qu'il mette son resultat dans une variable. par exemple "$reponse"

Sur d'autres scripts, par exemple script-a.php, script-b.php... je pourrais alors appeller ce script demande.php avec require; et il doit pouvoir me donner cette variable $reponse qui est le resultat de cette requete:
<?php
require 'demande.php';
echo $reponse;
?>
j'ai donc supprimé la partie qui produit un "echo" :
if ($result->num_rows > 0) {
    // output data of each row
    while($row = $result->fetch_assoc()) {
        echo "id: " . $row["id"]. " - Nom: ". $row["numero"]. "<br>";
    }
} else {
    echo "0 results";
}
et je l'ai remplacé
$reponse = $result;

Lorsque j'essaye d'interroger ce script demande.php , à partir de script-a.php :
<?php
$servername = "localhost";
$username = "hamdi";
$password = "motdepasse";
$dbname = "bdd";

// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
} 

$recheche = $_POST['id'];
$sql = "SELECT id, nom, numero FROM ami WHERE id = ".$recheche;
$result = $conn->query($sql);

$reponse = $result;

$conn->close();
?>
j'obtiens toujours une erreur 500 ....
J'ai essayé en deplacant $reponse = $result; a diverse endroits, rien ni fait....

Quelqu'un sait-il pourquoi?

Merci pour votre aide :)