Donc, lorsque j'utilise une instruction if! Isset dans mon programme, il ne reconnaît pas que la variable a été définie. Je l'ai mis en place de sorte que si une variable $ q n'est pas définie alors pour obtenir une requête de ma base de données mysqli. Cette requête récupérera la dernière entrée de données de ma base de données. Cette donnée est égale à une variable appelée $ row. La variable $ row est appelée plus tard pour récupérer les enregistrements qui sont ensuite affichés sur la page Web. Le problème est que l'instruction if s'exécute à nouveau (lors de l'actualisation/rechargement de la page) même si $ q a été défini à la dernière exécution du fichier .php. Voici le code:Isset ne fonctionne pas avec mysqli_query
$db_user = "root";
$db_pass = "";
$db_name = "music_reviews_database";
$db_host = "localhost";
$conn = mysqli_connect($db_host, $db_user, $db_pass, $db_name);
if (!isset($q)) {
$q = mysqli_query($conn,
"SELECT album.Album,
artist.ArtistsName,
datereviewed.DateReviewed,
features.Features,
genre.Genre,
rating.Rating,
songname.SongName,
link.link,
songname.ID,
comments.Comments
FROM songname
INNER JOIN album ON album.ID = songname.ID
INNER JOIN artist ON artist.ID = songname.ID
INNER JOIN datereviewed ON datereviewed.ID = songname.ID
INNER JOIN features ON features.ID = songname.ID
INNER JOIN genre ON genre.ID = songname.ID
INNER JOIN rating ON rating.ID = songname.ID
INNER JOIN link ON link.ID = songname.ID
INNER JOIN comments ON comments.ID = songname.ID
ORDER BY DateReviewed DESC LIMIT 1");
$row = mysqli_fetch_array($q);
}
Donc, le code devrait être comme ceci à la place?
$q = mysqli_query($conn,
"SELECT album.Album,
artist.ArtistsName,
datereviewed.DateReviewed,
features.Features,
genre.Genre,
rating.Rating,
songname.SongName,
link.link,
songname.ID,
comments.Comments
FROM songname
INNER JOIN album ON album.ID = songname.ID
INNER JOIN artist ON artist.ID = songname.ID
INNER JOIN datereviewed ON datereviewed.ID = songname.ID
INNER JOIN features ON features.ID = songname.ID
INNER JOIN genre ON genre.ID = songname.ID
INNER JOIN rating ON rating.ID = songname.ID
INNER JOIN link ON link.ID = songname.ID
INNER JOIN comments ON comments.ID = songname.ID
ORDER BY DateReviewed DESC LIMIT 1");
$row = mysqli_fetch_array($q);
file_put_contents(data.php, return var_export($row,true));
if (file_exists(data.php)) {
$row = include(data.php);
}
Où initialisez-vous $ q? – Michael
Vous ne mentionnez pas $ q variable c'est la raison pour laquelle il ne reconnaît pas – Abhishek
Oh ok serait-il un moyen d'initialiser la requête une seule fois alors que c'est pourquoi j'essayais d'utiliser isset en premier lieu. Parce que si de nouvelles données sont insérées dans la base de données alors la requête écrase les données que je veux avec les dernières données si cela a du sens –