Unknow column? Dacht het niet...

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Johan

Johan

05/10/2006 11:45:00
Quote Anchor link
Ik heb een hele rare fout. En ik kom er niet uit, omdat hij gewoon klopt. Hier even kort mijn scriptjes:

=============
connect.php
=============

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?php
$dbserver
="localhost";
$dbuser="...";
$dbpwd="...";
$connect = mysql_connect($dbserver,$dbuser,$dbpwd) or die("Kan geen verbinding met Mysql maken");
mysql_select_db("lonerdesign",$connect) or die(mysql_error());
?>


=============
Producten_cat.php
=============

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?php
    include("connect.php");
    
    $cat = $_GET[cat];
    $query = "SELECT * FROM producten WHERE cat=$cat ORDER BY ID";
    $result = mysql_query($query,$connect) or die($query."<BR>".mysql_error());
?>


en hier een stukje uit mijn tabel:
http://img135.imageshack.us/img135/7555/tabelproductensu7.jpg

En nu de error...

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
SELECT * FROM producten WHERE cat=Velgen ORDER BY ID
Unknown column 'Velgen' in 'where clause'


Raar hè...
In mijn tabel producten, staat een rij cat met daarin Velgen. Wanneer ik de cat met een echo oproep, geeft hij wél gewoon het woord Velgen weer. Raar man... Ik snap het niet. Hij ziet af wat hij af moet beelden, maar toch geeft hij de pagina niet weer.

Kent iemand dit rare probleem? Ben ik '' of "" vergeten? Ik snap het niet helemaal meer... Heb alles geprobeerd...

Gr Johan
Gewijzigd op 01/01/1970 01:00:00 door Johan
 
PHP hulp

PHP hulp

26/12/2024 06:14:42
 
Kalle P

Kalle P

05/10/2006 11:54:00
Quote Anchor link
Quote:
Ben ik '' of "" vergeten?

Inderdaad

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
$query
= "SELECT * FROM producten WHERE cat='".$cat."' ORDER BY ID";
?>


Moet werken.
 
Klaasjan Boven

Klaasjan Boven

05/10/2006 11:54:00
Quote Anchor link
Grote letters?

probeer eens 'Velgen' ipv Velgen
 
PHP erik

PHP erik

05/10/2006 12:16:00
Quote Anchor link
Voor de volgende keer: het woord "column" betekent kolom (dat wist je al) en verwijst naar de kolom zelf en niet de waarde van een kolom. Aangezien Velgen geen kolom is maar een waarde, weet je dus dat er een syntaxerror is, anders heeft ie het niet over een kolom. Oplossing is inderdaad gewoon aanhalingstekens.
 
Johan

Johan

06/10/2006 11:24:00
Quote Anchor link
Thnx guys! Het is gelukt!

Echter heb ik nu nog een vraagje. In de cat Velgen staan nu een paar keer OZ Racing en MAK. Echter wil ik ze niet allemaal weergeven, maar slechts 1x OZ en 1x MAK. Kan ik mijn query of while lus aanpassen, zodat hij alleen 1x pakt, en de dubbele weglaat?

Bedankt voor de reacties!
 
Klaasjan Boven

Klaasjan Boven

06/10/2006 11:33:00
Quote Anchor link
SELECT DISCTINT(jouwding) FROM jouwtabel
 
Johan

Johan

06/10/2006 11:48:00
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<? $query = "SELECT DISTINCT ID,productnaam,cat,prodcat,info,opmerking,prijs,prijs_oud,aanbieding FROM producten WHERE prodcat='$prodcat' ORDER BY productnaam"; ?>


en

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<? $query = "SELECT DISTINCT FROM producten WHERE prodcat='$prodcat' ORDER BY productnaam"; ?>


werken beide niet. Zo heb ik het gelezen dat het moet. Beide retouneren weer dubbele merknamen. Gebruik ik de functie goed? Volgens meerdere handleidingen is dit volgens mij de manier.
 
Johan

Johan

06/10/2006 12:00:00
Quote Anchor link
en

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?     $query = "SELECT DISTINCT cat FROM producten WHERE cat='$cat' ORDER BY ID"; ?>


retouneerd niets!
 
Joren de Wit

Joren de Wit

06/10/2006 12:09:00
Quote Anchor link
SELECT DISTINCT geeft alle van elkaar verschillende sets met resultaten terug. Maar als jij dus meerdere velden selecteerd, zullen alle verschillende combinaties van die velden 1x geretourneerd worden.

Probeer SELECT DISTINCT maar eens op 1 kolom in je tabel. Je zult zien dat als er dubbele records in die kolom staan, ze ook maar 1x weergegeven worden.
 
Johan

Johan

06/10/2006 12:11:00
Quote Anchor link
Maar ik heb wel alle kolommen nodig, dus ik moet ze wel selecteren. Als ik alleen DISTINCT productnaam ofzo doe, dan krijg ik de rest niet geretourneerd.
 
Joren de Wit

Joren de Wit

06/10/2006 12:15:00
Quote Anchor link
Hehe, je hebt wel alle kolommen nodig en er zijn meerdere rijen met daarin OZ Racing en MAK.

Hier zit het probleem waar je tegen aanloopt en wat MYSQL dus ook niet toestaat: hoe ga je bepalen welke rijen je wel en niet wilt selecteren als je maar 1x een rij met OZ Racing en 1x een rij met MAK wilt ophalen.
 
Johan

Johan

06/10/2006 12:17:00
Quote Anchor link
Perfect! Ik kan het nu voor mijzelf wel oplossen! Bedankt voor alle hulp! Maar toch nog een kleine vraag, die ik met google niet echt kan achterhalen (weet ook niet goed wat ik als zoekwoorden in moet vullen.

Mijn link in de browser is:

..../producten_detail.php?prodcat=OZ%20Racing

In mijn tabel staat in de kolom prodcat OZ Racing.

Hij vindt niets. Ligt dat aan de %20, of moet hij de spatie gewoon herkennen? Ik weet dat %20 in de URL voor spatie staat, maar kan dit een probleem zijn / veroorzaken?
Gewijzigd op 01/01/1970 01:00:00 door Johan
 
Joren de Wit

Joren de Wit

06/10/2006 12:21:00
Quote Anchor link
Ik weet niet waarom je OZ Racing en MAK maar 1 keer geslecteerd wilt hebben, heb je daar nog een bepaald criterium voor?
 
Johan

Johan

06/10/2006 12:35:00
Quote Anchor link
Blanche:
Ik weet niet waarom je OZ Racing en MAK maar 1 keer geslecteerd wilt hebben, heb je daar nog een bepaald criterium voor?


Het is al opgelost. Boven jouw vraag staat een korte nieuwe vraag :-)
 
Joren de Wit

Joren de Wit

06/10/2006 12:49:00
Quote Anchor link
In welke mysql query heb je die GET variabele staan? In principe worden die %20 tekens gewoon gelezen als spatie door php...
 
Johan

Johan

06/10/2006 12:53:00
Quote Anchor link
De link:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
producten_detail.php?prodcat=<?= $rij['prodcat'] ?>


De $_GET functie op producten_detail.php

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
<?php
    
    include("connect.php");

$cat = $_GET['prodcat'];
$query = "SELECT * FROM producten WHERE prodcat='$prodcat' ORDER BY productnaam";
$result = mysql_query($query,$connect) or die($query."<BR>".mysql_error());
?>
 
Joren de Wit

Joren de Wit

06/10/2006 12:56:00
Quote Anchor link
Hehe, dat werkt niet nee, de variabele $prodcat die je in je query gebruikt bestaat immers niet.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
<?php
include("connect.php");

$cat = $_GET['prodcat'];
$query = "
    SELECT *
    FROM producten
    WHERE prodcat = '"
.$cat."'
    ORDER BY productnaam
    "
;

$result = mysql_query($query,$connect) or die($query."<BR>".mysql_error());
?>


Haal tevens je variabelen altijd buiten de quotes.
 
Johan

Johan

06/10/2006 12:59:00
Quote Anchor link
Haha, wat stom zeg!!!
Bedankt man!
 



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.