php-variable in SQL-code
Om de categorie te specifieren heb in het begin van de categoriepagina een variabele aangemaakt:
$categorie = '<hier komt dan de naam>'
In mijn MySQL database heb ik de categorien gespecificeerd. Binnen de tabel heeft deze variabele 'category'.
Nu wil ik de volgende code uitvoeren:
$sql = 'SELECT * FROM `DMA_News` WHERE category = "<naam van de categorie>" ORDER BY `id` DESC LIMIT 0,4';
Voor het gedeelte waar de categorie staat wil ik dan de variabele $categorie gebruiken. Maar deze kan ik niet binnen het sql-statement worden gebruikt.
Is hier een andere oplossing voor? Of moet ik de volledige code steeds op elke pagina invoegen zonder variabele?
$query= " SELECT * FROM DMA_news WHERE category =".$naamCat." ORDER BY id DESC
je hoeft geen ' te gebruiken tussen tabel namen en veld namen.
Code (php)
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
<?php
$sQuery = "
SELECT *
FROM DMA_news
WHERE category = '".$naamCat."'
ORDER BY id DESC
LIMIT 0, 4
";
?>
$sQuery = "
SELECT *
FROM DMA_news
WHERE category = '".$naamCat."'
ORDER BY id DESC
LIMIT 0, 4
";
?>
Verder horen backticks inderdaad niet in een query thuis. Dat is bende van MySQL en verwijder je zo snel mogelijk!
@Blanch, je hebt helemaal gelijk. Maar bij een goed datamodel hoort het meestal een id te zijn :)
Wanneer je sorteert op id, weet je in 9 van de 10 gevallen dat je verkeerd bezig bent en stiekum een waarde toekent aan een waardeloos gegeven, het id. Pas je sortering even aan, daar ga je nog veel plezier van hebben.