methode

rif5
Invité n'ayant pas de compte PHPfrance

10 mars 2005, 04:36

Bonjour,
Je vien vous demandez votre aide, effectivement, je suis confronté a divers probléme...
Je suis entrain d'apprendre le php/sql, donc je fait des recherche sur divers tutauriaux, mais tous ne donne pas la meme reponse pour la meme chose , je vien donc vous montrez quelque exemple, et j'aimerai que vous me conseillez sur la bonne methode a utilisé...

Voila un exemple pour une requete sql:

1ere version:

$sql="select * from test";
$req=@mysql_query($sql,$base);

if (!$req)
{
mysql_close($base);
echo "
<table>
<tr><td align=center>
Erreur
</td></tr>
</table>
";
exit();
}

2 éme version :

$sql ="select * from test";
$req=@mysql_query($sql,$base) or die
('
<table>
<tr><td align=center>
Erreur
</td></tr>
</table>'
);

Il n'y a pas bcp de difference (le die() ou le if{} )
mais j'aimerai que vous m'indiquiez quelle est la meilleur methode a utilisé.
Pouvez egalement m'expliqué a quoi sert le @ , car defois il n'est pas present le 'mysql_query'.

Je vous remercie bcp d'avance ;)

Mammouth du PHP | 1339 Messages

10 mars 2005, 05:23

	 $sql = "SELECT nom,des,champs FROM test";
	 $req = mysql_query($sql) or die("Erreur SQL ! <br />".$sql."<br />".mysql_error());
Personnelement je prefere ca !
Bon sinon tu me fais un message privé et on se fait un TeamViewer

Eléphanteau du PHP | 27 Messages

11 mars 2005, 00:13

La premier methode est effectivement la plus aboutie, du moins dans l'idee...
le @ devant une fonction te sert a empecher l'affichage de l'erreur...
Ce que tu fais quand tu es dans une politique de gestion d'erreur.
Elie a raison quand ton site est en dev...
Mais une fois en prod, un internaute qui voit:

"SELECT login,passwod FROM ma_table_secure
You have an error in your SQL syntax, column passwod does not exist"

ou un truc dans le genre, ca fait pas tres propre...
c'est mieux un:

"Veuillez nous excuser pour le desagrement, mais en raison du tres grand succes de notre site, nous procedons a quelques ajustement, mais ne vous inquietez pas, rif5 notre ingenieur maison est sur le coup, repassez demain..."

Donc l'idee de la deuxieme methode ou d'elie, c'est :
si pas bon j'affiche pourquoi et j'arrete;
l'idee de la premiere est
si pas bon, je ferme ma connexion a mysql, j'affiche une erreur perso(pour un internaute non developpeur) puis j'arrete...

Vois-tu?

rif5
Invité n'ayant pas de compte PHPfrance

11 mars 2005, 18:06

Bonjour,
Je croit voir ce que tu veut dire, tu me conseille d'utilisé la premiére méthode avec le 'if', afin d'affiché un message personnalisé en cas d'erreur, pour le confort des visiteurs, ses bien sa?

En tout qu'a merci a vous 2 pour vos reponse ;)