Probleemtje in code SELECT
Dit werkt wel:
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
<?
$var = $cursusdatum;
$url = urlencode($cursusdatum);
$id = 1;
$sql = "SELECT prijs FROM cursus WHERE id = " .$id ;
$res = mysql_query($sql);
$prijs = mysql_result($res, 0);
//--- echo de resultaten
echo "Prijscursus: " . $prijs. " <br>";
echo "Cursusdatum: $cursusdatum <br>";
?>
$var = $cursusdatum;
$url = urlencode($cursusdatum);
$id = 1;
$sql = "SELECT prijs FROM cursus WHERE id = " .$id ;
$res = mysql_query($sql);
$prijs = mysql_result($res, 0);
//--- echo de resultaten
echo "Prijscursus: " . $prijs. " <br>";
echo "Cursusdatum: $cursusdatum <br>";
?>
Alleen wil ik eigenlijk niet op ID zoeken maar op cursusdatum. Dus maak ik dit.. En dan werkt het niet meer
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
<?
$var = $cursusdatum;
$url = urlencode($cursusdatum);
$id = 1;
$sql = "SELECT prijs FROM cursus WHERE cursusdatum = " .$cursusdatum ;
$res = mysql_query($sql);
$prijs = mysql_result($res, 0);
//--- echo de resultaten
echo "Prijscursus: " . $prijs. " <br>";
echo "Cursusdatum: $cursusdatum <br>";
?>
$var = $cursusdatum;
$url = urlencode($cursusdatum);
$id = 1;
$sql = "SELECT prijs FROM cursus WHERE cursusdatum = " .$cursusdatum ;
$res = mysql_query($sql);
$prijs = mysql_result($res, 0);
//--- echo de resultaten
echo "Prijscursus: " . $prijs. " <br>";
echo "Cursusdatum: $cursusdatum <br>";
?>
Kan iemand me vertellen wat ik fout doe?
Code (php)
laat btw even je fouten zien, kunnen we meer mee dan 'hij doet het niet'
Gewijzigd op 01/03/2006 12:26:00 door - wes -
Code (php)
1
2
3
4
5
2
3
4
5
<?php
$query = "SELECT * FROM tabelnaam";
$result = mysql_query($query) or die(mysql_error().' met query: '.$query).
// rest van het script
?>
$query = "SELECT * FROM tabelnaam";
$result = mysql_query($query) or die(mysql_error().' met query: '.$query).
// rest van het script
?>
Wanneer deze query niet uitgevoerd kan worden, krijg je keurig een foutmelding om de oren geslingerd. Tevens wordt voor het gemak de volledige query op het scherm gezet. Op deze manier kun je fatsoenlijk gaan debuggen en de problemen gaan oplossen.
Overigens is dit geen gebruikersvriendelijke oplossing, dit kun je alleen voor jezelf tijdens het ontwikkelen gebruiken.
Hij doet het nu al. Bedankt.
Ben al een tijdje bezig. Zoek nog steeds een echt goed php boek. Ooit een beginers boek gekocht, maar daar schiet ik voor dit soort dingen niet zoveel op.
Code (php)
1
2
3
4
5
6
2
3
4
5
6
<?php
// foutraportage
error_reporting(E_ALL);
$sql = mysql_query($query) or trigger_error(mysql_error());
?>
// foutraportage
error_reporting(E_ALL);
$sql = mysql_query($query) or trigger_error(mysql_error());
?>
@Lissy: 3 opmerkingen van mijn kant:
Bij de naam $sql verwacht ik een stuk SQL, geen resultaat van het uitvoeren van een query. $res of $result liggen volgens mij meer voor de hand.
Jouw foutafhandeling is in de basis niet veel anders dan mijn (slechte) voorbeeld met de functie die(). De bezoeker krijgt foutmeldingen voor zijn kiezen waar ze niets mee kunnen. De melding wegschrijven in een logboek (txt-file) en een foutmelding tonen dat de service niet beschikbaar is, is meestal handiger. Tevens kun je nog even een emailtje laten sturen naar de webmaster, dba of wie dan ook, om het probleem z.s.m. op te lossen.
En natuurlijk mag de error_reporting() niet ontbreken, zoals je zelf ook al zegt. Zelf zet ik de instellingen hiervan in een configfile zodat ik het bij een productie-omgeving eenvoudig op alle pagina's uit kan zetten. Een bezoeker gaat dit wederom niets aan.
Frank:
Een bezoeker gaat dit wederom niets aan.
Dit zijn naar mijn idee keuzes die je zelf maakt en ook voor jezelf gelden. De een werkt zus en de ander werkt zo.
Werk je voor een klant dan is deze uiteindelijk bepalend want het is zijn/hun site en zij beslissen :)
@Lissy: Ik ben het gedeeltelijk met je eens. Bedenk alleen wel, dat juist de foutafhandeling belangrijk is om hackers buiten de deur te houden. En wanneer de foutafhandeling voor iedereen zichtbaar is, dan zet je juist alle deuren open voor hackers. Dat een admin of webmaster alles kan zien, logisch, maar de rest van de wereld gaat het echt geen ene moer aan. Ze kunnen er toch niets mee. Behalve hacken dan...
YEP en in mijn ogen zou een "goede" webmaster zijn client hierover ook inlichten en de pros en cons tegen elkaar uiteenzetten maar...............je zou "alles" voor wat betreft programmeren in de praktijk is moeten zien wanneer je de kans krijgt om een blik te werpen op de codes ;)