Précédent   Forum des professionnels en informatique > PHP > Langage
Langage Forum sur le langage PHP, la POO, les conventions, la sécurité, etc. Avant de poster : FAQ Langage, toutes les FAQ PHP, cours langage et sources PHP
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 15/03/2011, 13h58   #1
Futur Membre du Club
 
Inscription : novembre 2004
Messages : 139
Détails du profil
Informations forums :
Inscription : novembre 2004
Messages : 139
Points : 18
Points : 18
Par défaut utiliser mysql_query sans placement dans variable

Bonjour,

tout est dans le titre.
J'utilisais le code suivant:

Code :
1
2
 
$result=mysql_query("UPDATE matable SET Statut='".$_SESSION['status']."' WHERE id= ".$_SESSION['machine']) or die('Impossible de mettre à jour la base. Erreur relevée: ' . mysql_error());
et je test un code raccourci:
Code :
1
2
 
mysql_query("UPDATE matable SET Statut='".$_SESSION['status']."' WHERE id= ".$_SESSION['machine']) or die('Impossible de mettre à jour la base. Erreur relevée: ' . mysql_error());
sachant que je ne réutilise pas la variable $result derrière est-il nécessaire de garder le 1er schéma ?

Merci

K
khamett est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/03/2011, 14h18   #2
Membre chevronné
 
Homme
Développeur Web
Inscription : mars 2011
Messages : 399
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Développeur Web
Secteur : Finance

Informations forums :
Inscription : mars 2011
Messages : 399
Points : 662
Points : 662
Dans le cadre d'un UPDATE, mysql_query retourne un booléen.

Le "mieux" dans ce cadre, c'est soit :

Code :
1
2
$result=mysql_query("UPDATE matable SET Statut='".$_SESSION['status']."' WHERE id= ".$_SESSION['machine']);
if(!$result) echo "erreur";
ou

Code :
if(!mysql_query("UPDATE matable SET Statut='".$_SESSION['status']."' WHERE id= ".$_SESSION['machine'])) echo "erreur";
La 1ère est plus lisible et réutilisable, la 2nde ne crée pas de variable et est plus courte.

Le résultat est le même, le tout est de garder le même système dans toute ton application pour être cohérent et débugger plus facilement par la suite.
Shikiryu est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/03/2011, 14h25   #3
Modérateur
 
Inscription : septembre 2010
Messages : 7 103
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 103
Points : 8 466
Points : 8 466
comme tu es sous PHP 5.3 je te conseil de vite passer sous mysqli ou PDO
__________________
http://blog.stealth35.com/
stealth35 est actuellement connecté   Envoyer un message privé Réponse avec citation 10
Vieux 15/03/2011, 15h15   #4
Futur Membre du Club
 
Inscription : novembre 2004
Messages : 139
Détails du profil
Informations forums :
Inscription : novembre 2004
Messages : 139
Points : 18
Points : 18
ok, merci pour l'info.

Par contre pourquoi stealth35 me conseille tu de vite passer sous mysqli.

quel est l'intérêt ?
khamett est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/03/2011, 15h22   #5
Modérateur
 
Inscription : septembre 2010
Messages : 7 103
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 103
Points : 8 466
Points : 8 466
Citation:
Envoyé par khamett Voir le message
ok, merci pour l'info.

Par contre pourquoi stealth35 me conseille tu de vite passer sous mysqli.

quel est l'intérêt ?
toi t'as pas lu le lien
__________________
http://blog.stealth35.com/
stealth35 est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/03/2011, 15h25   #6
Membre émérite
 
Avatar de vorace
 
Homme
Développeur
Inscription : août 2010
Messages : 587
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Meurthe et Moselle (Lorraine)

Informations professionnelles :
Activité : Développeur

Informations forums :
Inscription : août 2010
Messages : 587
Points : 861
Points : 861
Citation:
Envoyé par stealth35 Voir le message
toi t'as pas lu le lien
n'empêche, faut se le farcir le lien...
Citation:
Note:

Si vous utilisez MySQL versions 4.1.3 ou plus récent, il est fortement recommandé d'utiliser l'extension mysqli.
ok, mais pourquoi ? faut que je suive le lien...?
__________________
Développeur informatique contrarié...
vorace est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/03/2011, 15h32   #7
Modérateur
 
Inscription : septembre 2010
Messages : 7 103
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 103
Points : 8 466
Points : 8 466
le tableau à fin parle de lui même
__________________
http://blog.stealth35.com/
stealth35 est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/03/2011, 15h35   #8
Membre émérite
 
Avatar de vorace
 
Homme
Développeur
Inscription : août 2010
Messages : 587
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Meurthe et Moselle (Lorraine)

Informations professionnelles :
Activité : Développeur

Informations forums :
Inscription : août 2010
Messages : 587
Points : 861
Points : 861
Citation:
Envoyé par stealth35 Voir le message
le tableau à fin parle de lui même
effectivement, je viens de le voir...
au pire je rajouterai un 'i' à toute mes fonctions mysql_ => mysqli_ ...
__________________
Développeur informatique contrarié...
vorace est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/03/2011, 15h38   #9
Modérateur
 
Inscription : septembre 2010
Messages : 7 103
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 103
Points : 8 466
Points : 8 466
Citation:
Envoyé par vorace Voir le message
effectivement, je viens de le voir...
au pire je rajouterai un 'i' à toute mes fonctions mysql_ => mysqli_ ...
ouai avec quelques petites modifs ça le fait
et pour les erreurs c'est pas avec mysql.trace_mode, mais la fonction mysqli_report
__________________
http://blog.stealth35.com/
stealth35 est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/03/2011, 15h51   #10
Membre émérite
 
Avatar de vorace
 
Homme
Développeur
Inscription : août 2010
Messages : 587
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Meurthe et Moselle (Lorraine)

Informations professionnelles :
Activité : Développeur

Informations forums :
Inscription : août 2010
Messages : 587
Points : 861
Points : 861
Citation:
Envoyé par stealth35 Voir le message
ouai avec quelques petites modifs ça le fait
et pour les erreurs c'est pas avec mysql.trace_mode, mais la fonction mysqli_report
devrais changer d'habitude, je ne me sert jamais de mysql.trace_mode, si ca marche pas et qu'il y a pas d'erreur c'est que sa vient de la bdd et la je teste sur phpmyadmin ma requête pour obtenir un message d'erreur que j'aurais pu avoir avec mysql.trace_mode, ah ben zut alors...vu sous cet angle c'est bien pratique !
p.s. vu que j'ai pas souvent eu de grosse erreur sur mes requête ca passe, mais c'est clair que maintenant je m'en servirai !
__________________
Développeur informatique contrarié...
vorace est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/03/2011, 16h36   #11
Futur Membre du Club
 
Inscription : novembre 2004
Messages : 139
Détails du profil
Informations forums :
Inscription : novembre 2004
Messages : 139
Points : 18
Points : 18
oups, désolé, je suis pas allé jusqu'au tableau.

Néanmoins, je suis pas spécialiste php/mysql.

Je fais une "petite appli web" et je vois pas trop concrètement ce que cela va m'apporter.
khamett est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/03/2011, 16h44   #12
Modérateur
 
Inscription : septembre 2010
Messages : 7 103
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 103
Points : 8 466
Points : 8 466
Citation:
Envoyé par khamett Voir le message
oups, désolé, je suis pas allé jusqu'au tableau.

Néanmoins, je suis pas spécialiste php/mysql.

Je fais une "petite appli web" et je vois pas trop concrètement ce que cela va m'apporter.
imagine que pour le même prix t'ai une 205 ou une Golf VI. Le choix de la 205 est vraiment discutable
__________________
http://blog.stealth35.com/
stealth35 est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 21h25.


 
 
 
 
Partenaires

Hébergement Web