Requête retournant TRUE ou FALSE
Bonjour,
Je bute sur un problème qui me semble pourtant très simple. Je dispose d'un site sur lequel j'ai mis à disposition des fichiers à télécharger. Je souhaite stocker dans une table les fréquences de téléchargements et leur date.
Lorsque un téléchargement a lieu, j'incrémente la fréquence pour le fichier considéré.
Le problème que je rencontre, c'est lorsque le fichier n'a jamais été encore téléchargé. En fait, rien n'est inscrit dans ma table.
Voici mon code :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
|
// On vérifie tout d'abord que le fichier existe bien dans la table
if (mysql_query("SELECT fichiers FROM telechargements WHERE fichiers ='" . $nomFichier . "';"))
{
// Incrémentation du nombre de téléchargements
mysql_query("UPDATE telechargements SET frequence = (frequence+1) WHERE fichiers ='" . $nomFichier . "';");
mysql_query("UPDATE telechargements SET timestamp =" . time() . " WHERE fichiers ='" . $nomFichier . "';");
}
// Sinon on l'ajoute dans la table
else
{
mysql_query('INSERT INTO telechargements VALUES (\'' . $nomFichier . '\', 1,\'' . time() . '\')');
} |
Le IF s'exécute bien puisque ça s'incrémente lorsque je télécharge un fichier déjà enregistré dans ma table.
C'est au niveau du ELSE (lorsque le fichier n'est pas encore enregistré dans ma table) que ça coince.
D'après la documentation PHP sur mysql_query(), lorsque une requête du type SELECT ne retourne aucun jeu de résultat, la fonction retourne FALSE. En principe ça devrait donc marcher.
Une idée ?
Merci à vous. Cordialement, Che57