$query = "SELECT page FROM page WHERE title='(SELECT title FROM page_menu WHERE menu='".$menu."' AND submenu='".$submenu."' AND topitem='".$topitem."' AND subitem='".$subitem."' AND machine='".$machine."' AND info='".$info."')'";
$result = mysql_query($query)or die(mysql_error());
[foutmelding]
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'products' AND submenu='sheet metal' AND topitem='Haco - Sheetmetal' AND subitem=' at line 1
[/foutmelding]
Schrijf de query eens netjes uit over meerdere regels en echo hem eens.
<?
$query = "
SELECT
page
FROM
page
WHERE
title = '(SELECT title FROM page_menu WHERE menu='".$menu."' AND submenu='".$submenu."' AND topitem='".$topitem."' AND subitem='".$subitem."' AND machine='".$machine."' AND info='".$info."')'
";
?>
Weet je wel heel zeker dat de foutmelding over deze query gaat? De sub-query zet je nu als een string in de query. Deze wordt dus niet uitgevoerd!
$query = "SELECT page
FROM page,
page_menu
WHERE page_menu.title = page.title
AND page_menu.menu='".$menu."'
AND page_menu.submenu='".$submenu."'
AND page_menu.topitem='".$topitem."'
AND page_menu.subitem='".$subitem."'
AND page_menu.machine='".$machine."'
AND page_menu.info='".$info."'";
query= SELECT page FROM page, page_menu WHERE page_menu.title = page.title AND page_menu.menu='products' AND page_menu.submenu='sheet metal' AND page_menu.topitem='Haco - Sheetmetal' AND page_menu.subitem='Hydraulic pressbrakes' AND page_menu.machine='tooling' AND page_menu.info='standard'
die get verdwijnt door het programma dat op de server draait alle dynamische paginanamen worden omgezet naar statische dus nergens nog een variabele te bespeuren?? of denk je dat dit nog niet veilig genoeg is??
Zodra jij een $_GET variabele direct in je query opneemt zonder enige vorm van beveiliging toe te passen is er altijd sql injectie mogelijk, ongeacht wat er verder met die $_GET gebeurd in je script...