|
| MySQL - Or die Fra : Kasper Johansen |
Dato : 24-06-02 14:46 |
|
Hejsa gruppe...
Jeg har et problem...
Jeg har en MySQL database som jeg søger i... Problemet opstår på en side
hvor at hvis den IKKE finder det som at den leder efter skal den udføre en
kommando... Jeg mener kommandoen hedder "or die" eller sådan noget. Men
hvordan bruges den?? Det er måske lidt n00b...
----
Mvh Kasper
http://levithan.h4f.dk
| |
Mads A. Jensen (24-06-2002)
| Kommentar Fra : Mads A. Jensen |
Dato : 24-06-02 14:57 |
|
Hej
> Jeg har en MySQL database som jeg søger i... Problemet opstår på en side
> hvor at hvis den IKKE finder det som at den leder efter skal den udføre en
> kommando... Jeg mener kommandoen hedder "or die" eller sådan noget. Men
> hvordan bruges den?? Det er måske lidt n00b...
Kommandoen "or die" bruges f.eks. i en sammenhæng sådan her:
$conn = mysql_connect("localhost", $user, $password) or die(mysql_error());
Men det virker for mig at se, lidt underligt at køre "or die()" hvis den
ikke returnere noget?
Prøv istedet lidt med:
$select = mysql_query("sin søgning");
if(mysql_num_rows($select) == 0){
die("Der blev ikke fundet noget!");
}
else{
// output!
}
/Mads
--
Mads Jensen
http://ddfr.dk - Dansk Donaldist Forening
http://www.disney-comics.dk - Free Disney comics on the web!
info@disney-comics.dk
| |
Jonas Koch Bentzen (24-06-2002)
| Kommentar Fra : Jonas Koch Bentzen |
Dato : 24-06-02 15:56 |
|
Det der med "or die()" er der mange - selv professionelle - der bruger,
men jeg bliver altså nødt til at sige, at det er verdens dårligste
fejlhåndtering.
Man bør sætte sig ind i PHP's fejlhåndteringssystem med
set_error_handler() og trigger_error().
| |
Jonas Koch Bentzen (24-06-2002)
| Kommentar Fra : Jonas Koch Bentzen |
Dato : 24-06-02 19:53 |
|
Jonas Koch Bentzen skrev:
>
> Man bør sætte sig ind i PHP's fejlhåndteringssystem med
> set_error_handler() og trigger_error().
Bare lige for at give et eksempel:
<?php
# Først fortæller vi PHP, at fejl skal håndteres
# af vores hjemmelavede funktion fejl():
set_error_handler("fejl");
# Så laver vi funktionen, PHP skal kalde, når
# der opstår fejl:
function fejl($type, $besked, $fil, $linje) {
echo "Der er opstået en fejl i\n";
echo "filen $fil på linje $linje:\n";
# Her siger Peter Brodersen: "Det er en
# dårlig ide at skrive fejlbeskeden direkte
# til brugeren - og det har han ret i : )
# Det, man kan gøre, er at skrive beskeden
# direkte i testperioden, men i stedet logge
# beskeden, når sitet først er gået i luften.
echo "$besked\n";
echo "</body></html>";
exit;
}
# Nu forsøger vi at lave noget, der vil mislykkes. PHP vil her
# kalde vores hjemmelavede fejlfunktion i stedet for at skrive
# fejlbeskeden på den sædvanlige, grimme måde.
$fp = fopen("/fil/der/ikke/findes", "r");
Vi kan også selv kalde fejlfunktionen vha. trigger_error():
if (nogetErGalt()) {
trigger_error("Der var vist noget, der gik galt.");
}
?>
| |
Jonas Koch Bentzen (24-06-2002)
| Kommentar Fra : Jonas Koch Bentzen |
Dato : 24-06-02 19:54 |
|
Jonas Koch Bentzen skrev:
>
Man bør sætte sig ind i PHP's fejlhåndteringssystem med
set_error_handler() og trigger_error().
Bare lige for at give et eksempel:
<?php
# Først fortæller vi PHP, at fejl skal håndteres
# af vores hjemmelavede funktion fejl():
set_error_handler("fejl");
# Så laver vi funktionen, PHP skal kalde, når
# der opstår fejl:
function fejl($type, $besked, $fil, $linje) {
echo "Der er opstået en fejl i\n";
echo "filen $fil på linje $linje:\n";
# Her siger Peter Brodersen: "Det er en
# dårlig ide at skrive fejlbeskeden direkte
# til brugeren" - og det har han ret i : )
# Det, man kan gøre, er at skrive beskeden
# direkte i testperioden, men i stedet logge
# beskeden, når sitet først er gået i luften.
echo "$besked\n";
echo "</body></html>";
exit;
}
# Nu forsøger vi at lave noget, der vil mislykkes. PHP vil her
# kalde vores hjemmelavede fejlfunktion i stedet for at skrive
# fejlbeskeden på den sædvanlige, grimme måde.
$fp = fopen("/fil/der/ikke/findes", "r");
Vi kan også selv kalde fejlfunktionen vha. trigger_error():
if (nogetErGalt()) {
trigger_error("Der var vist noget, der gik galt.");
}
?>
| |
N/A (28-06-2002)
| Kommentar Fra : N/A |
Dato : 28-06-02 22:00 |
|
| |
Jonas Koch Bentzen (28-06-2002)
| Kommentar Fra : Jonas Koch Bentzen |
Dato : 28-06-02 22:00 |
|
Leonard skrev:
>
> Men hvordan får jeg $sti til at indeholde noget når den er inde i en
> function?
Skriv "global $sti" øverst i funktionen.
Du kunne i øvrigt med fordel bruge funktionen error_log() til at sende
dig en mail med fejlbeskeden.
http://dk.php.net/manual/en/function.error-log.php
| |
Leonard (30-06-2002)
| Kommentar Fra : Leonard |
Dato : 30-06-02 21:10 |
| | |
|
|