[Résolu] Ecriture correcte de requête

Ecriture correcte de requête [Résolu] - SQL/NoSQL - Programmation

Marsh Posté le 03-08-2005 à 13:51:03    

Bonjour tout le monde,
Je débute en sql et j'ai quelques soucis pour la syntaxe de mes requêtes.
Première:
 
$Utilisateur = $_SERVER['PHP_AUTH_USER'];
$QueryUtilisateur = "SELECT [Numéro] FROM Utilisateurs WHERE ('$Utilisateur' = [Nom Utilisateur])";
$ValeurUtilisateur = odbc_exec($cnx, $QueryUtilisateur);

 
Il n'y a pas d'erreur mais par contre, au lieu de m'afficher seulement le numéro d'utilisateur, voici le résultat: Resource id #3 (3 étant le numéro que je souhaite récupérer).
 
Pour la deuxième où je cherche seulement à augmenter de 1 le compteur pour connaître le nombre de visite de tel ou tel utilisateur, l'erreur suivante est affichée:
Warning: odbc_exec(): SQL error: [Microsoft][Pilote ODBC Microsoft Access] Erreur de syntaxe dans l'instruction UPDATE., SQL state 37000 in SQLExecDirect ...
Voici la requête:
 
$QueryVisite = "UPDATE `INT Access` SET (Visites = Visites + 1) WHERE ($ValeurUtilisateur = NUM)";
$ValeurVisite = odbc_exec($cnx, $QueryVisite);

 
Voilou, est-ce que quelqu'un serait me venir en aide?
Merci d'avance!


Message édité par fgiuliano le 03-08-2005 à 15:58:10
Reply

Marsh Posté le 03-08-2005 à 13:51:03   

Reply

Marsh Posté le 03-08-2005 à 14:57:53    

Personne pour m'aider?

Reply

Marsh Posté le 03-08-2005 à 15:46:16    

Ok, alors en cherchant et en testant plusieurs possibilités, j'ai réussi à ne plus avoir d'erreur et à obtenir la valeur que je souhaite. Voici mon code et mes requêtes:
 
$Utilisateur = $_SERVER['PHP_AUTH_USER'];
$QueryUtilisateur = "SELECT [Numéro] FROM Utilisateurs WHERE ('$Utilisateur' = [Nom Utilisateur])";
$ValeurUtilisateur = odbc_exec($cnx, $QueryUtilisateur);
$NumUtilisateur = odbc_result($ValeurUtilisateur, 1);
 
$QueryVisite = "UPDATE [INT Access] SET Visites = Visites + 1 WHERE ('$NumUtilisateur' = '[INT Access].NUM')";
$ValeurVisite = odbc_do($cnx, $QueryVisite);
 
Par contre, même lorsque j'arrive sur la page Accueil_A.php(la page qui possède ce code), rien n'est mis à jour dans ma table INT Access... Le champs que je souhaite modifier est un champ numérique. Est-ce que quelqu'un voit pourquoi aucune modification est effectuée? Merci d'avance.

Reply

Marsh Posté le 03-08-2005 à 15:57:22    

fgiuliano a écrit :


$Utilisateur = $_SERVER['PHP_AUTH_USER'];
$QueryUtilisateur = "SELECT [Numéro] FROM Utilisateurs WHERE ('$Utilisateur' = [Nom Utilisateur])";
$ValeurUtilisateur = odbc_exec($cnx, $QueryUtilisateur);
$NumUtilisateur = odbc_result($ValeurUtilisateur, 1);
 
$QueryVisite = "UPDATE [INT Access] SET Visites = Visites + 1 WHERE ($NumUtilisateur = NUM)";
$ValeurVisite = odbc_do($cnx, $QueryVisite);


 
Et voilà, en effectuant cette modification, tout fonctionne correctement!!!

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed