Versio

Unknown clolum in 'where clause'

Overzicht Reageren

Kees Hofkamp

Kees Hofkamp

29/01/2011 21:58:17
Quote Anchor link
Bij het opvragen van gegevens van een database stuit ik op het volgende probleem. Het volgende script
werkt goed:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
<?php
// -----------------variabelen initialiseren-----------------------
$db = mysql_connect("localhost", "root", "")
        or die("Kan niet verbinden: " . mysql_error());
$klasse = $_POST["klasse"];
$jaar = (int) $_POST["jaar"];
//---------------even kijken of ze goed zijn doorgekomen------------
echo $klasse;
echo $jaar;
//------------------------------------------------------------------
$dbnaam = "ttbase";
$query="SELECT RES, VOLLNAAM, NAT, MERK, TIJD1, GEM1, TIJD2, GEM2
FROM hoofdtabel
WHERE ((hoofdtabel.CAT)= $klasse) And ((hoofdtabel.JAAR)= $jaar)
ORDER BY (hoofdtabel.RES) ASC;"
;
mysql_select_db($dbnaam, $db) or die($fout);
$result = mysql_query($query) or die (mysql_error());
//-------------------einde initialisatie----------------------

De variabelen die met $_POST zijn doorgekomen, worden keurig verwerkt, en dmv de HTML code verder op wordt een keurige lijst gproduceerd. Beide variabelen komen uit dezelfde tabel [hoofdtabel] waaruit de query zijn gegevens moet halen.

Het volgende script lijkt hier op:

[
code]<?php
// -----------------variabelen initialiseren-----------------------
$db = mysql_connect("localhost", "root", "")
        or die("Kan niet verbinden: " . mysql_error());      
        $rijder = $_POST["naam"];
//-------controleren of naam goed is doorgegeven-----
echo $rijder;
//---------------------------------------------------
$dbnaam = "ttbase";
$query=
"SELECT RES, VOLLNAAM, NAT, MERK, PT, JAAR, KLASSE2
FROM hoofdtabel
WHERE ((hoofdtabel.NAAM) = $rijder)"
;
mysql_select_db($dbnaam, $db) or die($fout);
$result = mysql_query($query) or die (mysql_error());
//-------------------einde initialisatie----------------------

Hier wordt óók een variabel met $_POST doorgegeven, alleen komt die variable uit een andere tabel [allerijders]. Hij komt goed door, maar als de naam bijv. 'Hofkamp' is, dan komt de volgende foutmelding:
Unknown colums 'Hofkamp' in where clause
Wie heeft enig idee hoe dat komt, en hoe ik dit moet aanpakken?
Ik ben erg nieuwsgierig!
Kees Hofkamp
Gewijzigd op 29/01/2011 22:06:01 door Kees Hofkamp
 
PHP hulp

PHP hulp

25/05/2012 16:54:15
Gesponsorde koppelingen:
BHosted Hosting al vanaf € 1,- per maand

Controleer nu gratis jouw domeinnaam:

  
 
- Aar -

- Aar -

29/01/2011 22:01:14
Quote Anchor link
ga verder...
 
Jurrian Nijland

Jurrian Nijland

29/01/2011 22:01:30
Quote Anchor link
-- te laat , zie post boven mij --
Gewijzigd op 29/01/2011 22:01:57 door Jurrian Nijland
 
Jonathan -

Jonathan -

29/01/2011 22:08:26
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
WHERE ((hoofdtabel.NAAM) = $rijder)

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
WHERE ((hoofdtabel.NAAM) = '$rijder')


Verder is je code vatbaar voor SQL-injections.
 
Kees Hofkamp

Kees Hofkamp

29/01/2011 23:28:28
Quote Anchor link
Dank! Het werkt. Maar..., waarom hoeven er in het 1e script géén komma's omheen?
En: wat zijn SQL-injctions?
(Ik ben een beginner hoor..)
Kees
 



Overzicht Reageren

Get Adobe Flash player