Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD > PHP & SQL-Server
PHP & SQL-Server Forum d'entraide sur SQL-Server avec PHP. Avant de poster -> FAQ SQL-Server
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 05/04/2006, 14h40   #1
Invité de passage
 
Inscription : mars 2006
Messages : 33
Détails du profil
Informations forums :
Inscription : mars 2006
Messages : 33
Points : 4
Points : 4
Par défaut mssql_query ne renvoie rien !

Bonjour,

J'exécute une requête de mise à jour avec mssql_query :

Code :
1
2
$req = "UPDATE $user_table SET [NB_CONNECT] = [NB_CONNECT]+1, [LAST_CONNECT]=GETDATE() WHERE IDENTIFIANT = '$Identification'";
$result = mssql_query($req);
La mise à jour s'effectue sans pb, mais $result = [vide] !!! alors qu'il est censé me renvoyer une valeur positive ou -1 !

Qqun aurait-il une suggestion ?
Merci !
Sophy75 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/04/2006, 14h58   #2
Membre régulier
 
Inscription : mars 2006
Messages : 123
Détails du profil
Informations forums :
Inscription : mars 2006
Messages : 123
Points : 77
Points : 77
tu peux passer le bout de code qui teste ton $result stp ?
Poutchou est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/04/2006, 15h01   #3
Expert Confirmé
 
Avatar de titoumimi
 
Inscription : décembre 2003
Messages : 3 717
Détails du profil
Informations personnelles :
Âge : 31

Informations forums :
Inscription : décembre 2003
Messages : 3 717
Points : 3 082
Points : 3 082
Premier conseil dans ce genre de cas : afficher la requête une fois générée pour voir ce qui cloche :

Ensuite, je suppose qu'identifiant est un nombre non ?

Code :
$req = "UPDATE $user_table SET [NB_CONNECT] = [NB_CONNECT]+1, [LAST_CONNECT]=GETDATE() WHERE IDENTIFIANT =".$Identification;
Dans ce genre de cas, essaie toujours la concaténation, ca rend les choses plus claires
titoumimi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/04/2006, 15h01   #4
Invité de passage
 
Inscription : mars 2006
Messages : 33
Détails du profil
Informations forums :
Inscription : mars 2006
Messages : 33
Points : 4
Points : 4
Comme il me plante, je fais un simple
Code :
echo "result = " . $result;
Et il affiche result =
et c tout !
Sophy75 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/04/2006, 15h04   #5
Membre éprouvé
 
Avatar de amika
 
Inscription : septembre 2004
Messages : 499
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 499
Points : 414
Points : 414
Envoyer un message via MSN à amika Envoyer un message via Yahoo à amika
dans ton cas si la mise a jour s'effectue sans probleme ton $resultat a comme valeure TRUE.
essaye de faire :
__________________

_____________________
Il n'y a pas de choses urgentes, il n'y a que des choses en retard
amika est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/04/2006, 15h09   #6
Invité de passage
 
Inscription : mars 2006
Messages : 33
Détails du profil
Informations forums :
Inscription : mars 2006
Messages : 33
Points : 4
Points : 4
Citation:
Premier conseil dans ce genre de cas : afficher la requête une fois générée pour voir ce qui cloche
C ce que j'ai fait et elle ne cloche pas (d'ailleurs ma table se met bien à jour !) et l'identifiant de la table est mon login, donc bien une chaîne de caractères...

Citation:
dans ton cas si la mise a jour s'effectue sans probleme ton $resultat a comme valeure TRUE
J'ai réalisé le même test mais il ne rentre pas dans le IF...
Sophy75 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/04/2006, 16h41   #7
Membre actif
 
Avatar de funckfot
 
Étudiant
Inscription : mars 2006
Messages : 221
Détails du profil
Informations personnelles :
Âge : 25
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : mars 2006
Messages : 221
Points : 180
Points : 180
tu a regarder si tu a une erreur dans ta requete
(c peu etre le echo $resultat ; ) mais avec echo msSql_error(); tu doit le voir
mais je sais pas si sa existe
funckfot est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/04/2006, 17h19   #8
Invité de passage
 
Inscription : mars 2006
Messages : 33
Détails du profil
Informations forums :
Inscription : mars 2006
Messages : 33
Points : 4
Points : 4
Citation:
Envoyé par funckfot
tu a regarder si tu a une erreur dans ta requete
(c peu etre le echo $resultat ; ) mais avec echo msSql_error(); tu doit le voir
mais je sais pas si sa existe
Nan nan j'insiste il n'y a pas d'erreur dans ma requête puisque la ligne correspondante se met bien à jour !
Et j'ai regardé, pas de mssql_error ou équivalent...
Sophy75 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/04/2006, 17h25   #9
Membre régulier
 
Inscription : février 2006
Messages : 188
Détails du profil
Informations forums :
Inscription : février 2006
Messages : 188
Points : 78
Points : 78
salut

et ceci ? :

Code :
1
2
3
4
5
$req = "UPDATE $user_table SET [NB_CONNECT] = [NB_CONNECT]+1, [LAST_CONNECT]=GETDATE() WHERE IDENTIFIANT = '$Identification'"; 
$result = mssql_query($req);
$col = mssql_fetch_row ($result)
 
echo $col[0] ;
ruty est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/04/2006, 17h55   #10
Invité de passage
 
Inscription : mars 2006
Messages : 33
Détails du profil
Informations forums :
Inscription : mars 2006
Messages : 33
Points : 4
Points : 4
Citation:
Envoyé par ruty
salut

et ceci ? :

Code :
1
2
3
4
5
$req = "UPDATE $user_table SET [NB_CONNECT] = [NB_CONNECT]+1, [LAST_CONNECT]=GETDATE() WHERE IDENTIFIANT = '$Identification'"; 
$result = mssql_query($req);
$col = mssql_fetch_row ($result)
 
echo $col[0] ;
Et bien mon souci est que $result ne renvoie rien justement, donc mssql_fetch_row plante !...
Sophy75 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/04/2006, 09h26   #11
Membre régulier
 
Inscription : mars 2006
Messages : 123
Détails du profil
Informations forums :
Inscription : mars 2006
Messages : 123
Points : 77
Points : 77
mssql_query retourne un identifiant positif de résultat en cas de succès, ou FALSE sinon

si tu fais
if ($result >=0)
Poutchou est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/04/2006, 09h58   #12
Invité de passage
 
Inscription : mars 2006
Messages : 33
Détails du profil
Informations forums :
Inscription : mars 2006
Messages : 33
Points : 4
Points : 4
Citation:
Envoyé par Poutchou
mssql_query retourne un identifiant positif de résultat en cas de succès, ou FALSE sinon

si tu fais
if ($result >=0)
Oui ça je sais je l'ai lu sur des tutoriaux, sauf que dans mon cas $result ne renvoie rien alors que la requête s'effectue correctement !!! ET c bien là mon pb !!!
mssql_query renvoie bien un identifiant quand je fais un SELECT, mais ne renvoie rien quand je fais un UPDATE !
Sophy75 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/04/2006, 10h36   #13
Expert Confirmé
 
Avatar de yiannis
 
Inscription : septembre 2005
Messages : 1 499
Détails du profil
Informations personnelles :
Âge : 47

Informations forums :
Inscription : septembre 2005
Messages : 1 499
Points : 2 563
Points : 2 563
bonjour,

a voir:
http://gr2.php.net/manual/fr/functio...s-affected.php
__________________
"Ce besoin de remords qui précède le Mal, que dis-je ! qui le crée..." E. CIORAN
yiannis est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/04/2006, 10h56   #14
Invité de passage
 
Inscription : mars 2006
Messages : 33
Détails du profil
Informations forums :
Inscription : mars 2006
Messages : 33
Points : 4
Points : 4
Citation:
Envoyé par yiannis
Oui merci
Ca marche !!!

Voici le code qui va bien :
Code :
1
2
3
$result = mssql_query($req);
$nbrow = mssql_rows_affected($db);
if $nbrow >0 then ...
Youpi et encore merci à tous pour votre aide !
Sophy75 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/04/2006, 10h59   #15
Membre actif
 
Inscription : septembre 2005
Messages : 183
Détails du profil
Informations forums :
Inscription : septembre 2005
Messages : 183
Points : 175
Points : 175
Envoyer un message via Yahoo à polace
slt Yiannis , si j'ai bien compris $requète ne peut être afficher à moins d'utiliser une fonction semblalble
Code :
1
2
3
4
5
 function rows_affected(){
 $result = mssql_query("SELECT @@ROWCOUNT");
 list($affected) = mssql_fetch_row($result);
 return $affected;
}
Désolé si je dis une bêtise car à priori je ne vois pas d'erreur dans le script de Sophy75.merçi de m'éclairer
__________________
la succession d'évènement que nous subissons toute notre vie n'est qu'un phénomène de compensation dont la nature en est l'arbitre.[Inéluctabilité de la nature ] Polace
polace est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 10h02.


 
 
 
 
Partenaires

Hébergement Web