MySQL error

Status
Niet open voor verdere reacties.

DarkFeather

Gebruiker
Lid geworden
21 jan 2004
Berichten
134
PHP:
require_once('config.php'); 
$query = "SELECT fotonummer FROM fotoalbum WHERE dir = $dir";
$resultaat = mysql_query($query) or die("De opgegeven Query kan niet uitgevoerd worden. MySQL retouneerde de volgende error: ".mysql_error());
Deze code geeft elke keer een fout, wat $dir ook is (en die staat in de database!). Elke keer krijg ik deze error: Unknown column 'NAAM DIR' in 'where clause'. Wat gaat er fout?

En dan nog een vraagje, ik heb een fotoalbum waarbij tijdens het uploaden (onder andere) de volgende gegevens in de database worden geplaatst:
dir (de directory waarin de foto staat) en fotonummer (het nummer dat de foto heeft).

Hoe kan ik dan uit de database het makkelijkste uitlezen wat het hoogste fotonummer is uit een bepaalde directory?

Voorbeeld:
Inhoud database:
dir fotonummer
test1 1
test1 2
test2 1
test2 2
test2 3
test2 5

Hoe kan ik dan het snelste uitlezen dat fotonummer 5 de laatste foto is uit directory test2?
 
Laatst bewerkt:
Rimsic zei:
Probeer is
PHP:
dir = '" . $dir ."'
Toelichting: $dir wordt nu tussen quotes gezet in de querystring, wat voor MySQL inhoud dat hij $dir als string moet zien. Zonder die quotes ziet MySQL het óf als getal óf als keyword (OR, AND, SELECT, FROM, JOIN, etc, allemaal speciale woorden) óf als kolom. Het was geen getal, geen keyword, dus ziet-ie 't voor kolom aan. Vervolgens ziet hij dat die kolomnaam niet bestaat.

Over die 2e vraag van je: kijk eens naar de MySQL functie MAX(). Ook kun je ORDER BY kolom DESC LIMIT 0,1 gebruiken, kep geen idee welke sneller is though :). Kun je zelf uiteraard wel benchmarken, mocht je daar behoefte aan hebben.
 
Nog even op vraag 2

Als je iets in deze richting doet:

PHP:
SELECT * FROM tabel
WHERE dir = '". $dir ."'
DESC
LIMIT 1

Wanneer je fotonummer nu als primary key insteld. Geeft hij de hoogste aan

DESC: Zorgt ervoor dat de lijst die eruit komt aflopend is (tegenovergestelde is ASC)
LIMIT 1: Zorgt ervoor dat je maar 1 antwoord krijgt en niet alle fotonummers waar dir foto 1 of iets anders is
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan