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