/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
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

Jonas Koch Bentzen <ingen.email@eksempel.dk> skrev:

>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

Smart, tak for det hint
--
mvh Leonard - http://leonard.dk/


Søg
Reklame
Statistik
Spørgsmål : 177554
Tips : 31968
Nyheder : 719565
Indlæg : 6408852
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste