Probleemtje in code SELECT

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Top Low-Code Developer Gezocht!

Bedrijfsomschrijving Unieke Kansen, Uitstekende Arbeidsvoorwaarden & Inspirerend Team Wij zijn een toonaangevende, internationale organisatie die de toekomst van technologie vormgeeft door het creëren van innovatieve en baanbrekende oplossingen. Ons succes is gebaseerd op een hecht en gepassioneerd team van professionals die altijd streven naar het overtreffen van verwachtingen. Als jij deel wilt uitmaken van een dynamische, vooruitstrevende en inspirerende werkomgeving, dan is dit de perfecte kans voor jou! Functieomschrijving Als Low-Code Developer ben je een cruciaal onderdeel van ons team. Je werkt samen met collega's uit verschillende disciplines om geavanceerde applicaties te ontwikkelen en te optimaliseren met behulp van Low-code

Bekijk vacature »

Ren

Ren

01/03/2006 12:16:00
Quote Anchor link
Wie kan me helpen:

Dit werkt wel:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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>";  
?>

Alleen wil ik eigenlijk niet op ID zoeken maar op cursusdatum. Dus maak ik dit.. En dan werkt het niet meer

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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>";  
?>


Kan iemand me vertellen wat ik fout doe?
 
PHP hulp

PHP hulp

05/11/2024 12:05:02
 
- wes  -

- wes -

01/03/2006 12:25:00
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
<?php

$sql
= "SELECT prijs FROM cursus WHERE cursusdatum = '" .$cursusdatum. "'" ;

echo "Prijscursus: " . $prijs. " <br>";
echo "Cursusdatum: ".$cursusdatum." <br>";

?>


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 -
 
Frank -

Frank -

01/03/2006 12:31:00
Quote Anchor link
Zonder foutafhandeling is het zoeken naar een speld in een hooiberg. Foutafhandeling MOET in ieder script aanwezig zijn. Een heel simpel voorbeeldje:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
$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.
 
Ren

Ren

01/03/2006 12:31:00
Quote Anchor link
Beste Wes,

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.
 
Lissy Pixel

Lissy Pixel

01/03/2006 12:44:00
Quote Anchor link
Zelf ben ik geholpen door deze foutmelding te gebruiken:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
// foutraportage
error_reporting(E_ALL);

$sql = mysql_query($query) or trigger_error(mysql_error());
?>
 
Frank -

Frank -

01/03/2006 13:11:00
Quote Anchor link
Over boeken gesproken, ik heb veel plezier gehad aan dit boek: http://www.phphulp.nl/php/boeken/35/[/URL]

@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.
 
Lissy Pixel

Lissy Pixel

01/03/2006 13:15:00
Quote Anchor link
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 :)
 
Frank -

Frank -

01/03/2006 13:21:00
Quote Anchor link
@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...
 
Lissy Pixel

Lissy Pixel

01/03/2006 13:39:00
Quote Anchor link
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 ;)
 



Overzicht Reageren

 
 

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.