@ en & voor functies
Al enkele malen ben ik functies tegengekomen waarvoor een @ of een & staat. Dit zijn functies als:
@move_uploaded_file()
@imagepng()
&$this->test()
etc...
Heeft dit nog een speciale functionaliteit of iets dergelijks? Zo ja, waarbij zou dit dan gebruikt moeten worden?
Bij voorbaat dank
ik (en volgensmij de meeste mensen hier) raad het je niet aan om @ te gebruiken, als je correct script heb je het ook helemaal niet nodig ;)
Leroy schreef op 03.09.2008 18:01:
ik (en volgensmij de meeste mensen hier) raad het je niet aan om @ te gebruiken, als je correct script heb je het ook helemaal niet nodig ;)
Ik gebruik wel degelijk @ voor mijn querys, omdat ik een eigen error afhandeling heb. Ik wil mijn foutmeldingen netjes laten zien, en prompt voor de bezoeker laten zien! ;)
@iChris, denk dat je dan beter een eigen class kunt gaan maken voor je database activiteiten. Dan kun je je eigen error handler inbouwen en heb je die 'vieze' @'s niet nodig :)
@Zou je eigenlijk niet moeten gebruiken, maar in sommige uiterste gevallen, kan het prima werken. Toch is het niet aan te raden.
Code (php)
1
2
3
4
5
6
7
2
3
4
5
6
7
<?php
$query = mysql_query("SELECT * FROM blaat");
if(!$query)
{
echo 'foutje!'.mysql_error();
}
?>
$query = mysql_query("SELECT * FROM blaat");
if(!$query)
{
echo 'foutje!'.mysql_error();
}
?>
Blaat bestaat niet, dan krijg je eerst de foutmelding van mysql, vervolgens foutje! met daarin nog een keer de mysql_error... Lijkt mij onnodig? Daarom zet ik er een @ voor :)
Code (php)
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
<?php
$dev = true;
if ($dev) {
ini_set ('display_errors', 1);
error_reporting (E_ALL | E_STRICT);
}
?>
$dev = true;
if ($dev) {
ini_set ('display_errors', 1);
error_reporting (E_ALL | E_STRICT);
}
?>
En bij het uitvoeren van je query's:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
<?php
$sql = "
blablabla
";
if (!$res = mysql_query ($sql)) {
if ($dev) {
// echo query en errors naar het scherm
}
else {
// errors loggen naar db
}
}
?>
$sql = "
blablabla
";
if (!$res = mysql_query ($sql)) {
if ($dev) {
// echo query en errors naar het scherm
}
else {
// errors loggen naar db
}
}
?>