mysql error functie..

Door Leroy Boerefijn, 22 jaar geleden, 3.950x bekeken

ik heb dit voor mijn eigen site geschreven..
je moet de pagina overal includen waar je het wilt..

zo moet je hem gebruiken:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?php
$query
= mysql_query("SELECT * FROM table WHERE dit = 'dat'") or error("Een foutmelding");
/*als het fout gaat, krijg je de melding:
Een foutmelding <br />
Er is dus een mail naar de webmaster gestuurd<br />
Hij probeert er zo snel mogelijk iets aan te doen*/

?>


de rest van de pagina wordt nu niet weergeven, wil je dit wel, dan moet je de exit(); op de regel 49 en/of 56 weghalen

Gesponsorde koppelingen

PHP script bestanden

  1. mysql-error-functie

 

Er zijn 10 reacties op 'Mysql error functie'

PHP hulp
PHP hulp
0 seconden vanaf nu
 

Gesponsorde koppelingen
Eric Cartman
Eric Cartman
22 jaar geleden
 
0 +1 -0 -1
Misschien dat de functie error_log (o.i.d.) hier een stuk handiger/sneller voor is?
Jan Koehoorn
Jan Koehoorn
22 jaar geleden
 
0 +1 -0 -1
Normaal gesproken schrijf je errors naar een log. Je zou een check kunnen doen op het error nummer (met mysql_errno) en alleen bij ernstige fouten een mail versturen. Ik zou ook geen exit() gebruiken. Niet alle fouten hoeven te betekenen dat een hele pagina meteen afgekapt moet worden.

Spelling: het is: "Hij probeert er zo snel mogelijk iets aan te doen"
Leroy Boerefijn
Leroy Boerefijn
22 jaar geleden
 
0 +1 -0 -1
ik heb dit script in eerste instantie voor mezelf geschreven..
bij mij is exit wel nodig..
en ik vond het handig om de fouten in mijn mailbox te krijgen.. dan hoef ik niet apart te kijken.. (meestal is er toch niks..)

je kunt anders iets inbouwen:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
function error($foutmelding, $lijn = __line__){
?>

vervangen door:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
function error($foutmelding, $belangrijk, $lijn = __line__){
?>


en dan als $belangrijk true is exit gebruiken..
anders echo..


22 jaar geleden
 
0 +1 -0 -1
Is dit een script voor de scriptlib? Dit is toch gewoon basis error afhandeling?
- -
- -
22 jaar geleden
 
0 +1 -0 -1
gevorderd data verwerking? :S verder wel goed hoor ;-)
Leroy Boerefijn
Leroy Boerefijn
22 jaar geleden
 
0 +1 -0 -1
een error is toch ook data?? en je verwerkt het :)
maar ik zal het dan wel naar beginer zetten??
Frank -
Frank -
22 jaar geleden
 
0 +1 -0 -1
Lijkt me een goed plan. Deze functie is echt een beginnersfunctie. exit() of die() kunnen niet in een goed script staan, een script is gewoon niet goed met deze functies. Ongeacht de fout, moet de bezoeker altijd verder kunnen werken met de pagina's/functies die het wél doen. De bezoeker botweg met een kluitje het riet insturen is not done.
Wout van der Burg
Wout van der Burg
22 jaar geleden
 
0 +1 -0 -1
gebruik ipv exit() of die() de functie trigger_error(); zo kan het script doorlopen, zien de gebruikers de fout en kunnen ze indien mogelijk het script gebruiken
Frank -
Frank -
22 jaar geleden
 
0 +1 -0 -1
@Wout: trigger_error() heb je niet nodig, met een if-else krijg je een structuur die je veel beter in de hand kunt houden.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
<?
$query
= "SELECT * FROM tabelnaam";
$result = mysql_query($query);
if($result){ // query is gelukt
  // doe je ding

}
else {
  // query is mislukt, zet de fout in het logboek en geef een gebruikersvriendelijke foutmelding
}
?>

Dit kun je uiteraard ook oplossen met een OOP-aanpak, maar de basis (if-else) blijft hetzelfde.

Het nadeel van trigger_error() is dat deze min of meer onverwacht opduikt en niet voldoet aan de nette foutafhandeling die jij in gedachten hebt. Ondanks trigger_error() kun je heb je nog steeds een if nodig om te controleren of e.e.a. is goedgegaan.
PHP hulp
PHP hulp
0 seconden vanaf nu
 

Gesponsorde koppelingen
Leroy Boerefijn
Leroy Boerefijn
22 jaar geleden
 
0 +1 -0 -1
maar als ik het nou bijv. echo..
dan krijg ik nog meer fouten omdat de dingen die met die foute query te maken hebben dan ook niet kunnen!

Edit:
ik heb het foutmelding gedeelte een beetje aangepast..
nu is het wat overzichtelijker :)

Om te reageren heb je een account nodig en je moet ingelogd zijn.

Inhoudsopgave

  1. mysql-error-functie

Labels

  • Geen tags toegevoegd.

Navigatie

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.