isset toevoegen aan een select count
Kees Mulder
18/03/2019 19:31:04Is het ook mogelijk een een if isset toe te voegen aan een mysqli select. Wat ik ook probeer ik weet niet zo goed hoe ik dit kan oplossen.
Code (php)
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
$result_count = mysqli_query($conn,"SELECT COUNT(*) AS total_records
FROM items
LEFT JOIN items_filters ON items_filters.item_id = items.item_id WHERE items.item_toon_id = '1' "
if (isset($_GET['taal'])) {
$sql .= "AND talen.talen_slug = '" . $_GET['taal']. "' ";
}
$sql .= " GROUP BY items.item_id ORDER BY item ASC";
$result = $conn->query($sql);
FROM items
LEFT JOIN items_filters ON items_filters.item_id = items.item_id WHERE items.item_toon_id = '1' "
if (isset($_GET['taal'])) {
$sql .= "AND talen.talen_slug = '" . $_GET['taal']. "' ";
}
$sql .= " GROUP BY items.item_id ORDER BY item ASC";
$result = $conn->query($sql);
Gewijzigd op 18/03/2019 19:32:06 door Kees Mulder
PHP hulp
21/11/2024 21:58:14Kees Mulder
18/03/2019 20:29:58Het lukt me niet om af te breken na "items.item_toon_id = '1'" en voor de "if(isset)".
Dan kan ik het beter oplossen met:
mysqli_real_escape_string($_GET['taal'])
Dan kan ik het beter oplossen met:
mysqli_real_escape_string($_GET['taal'])
Gewijzigd op 18/03/2019 20:47:14 door Kees Mulder
Kijk eens goed: Je plaatst nu je SQL-query in je mysqli_query() functie.
Daaronder ga je je SQL-query uitbreiden buiten je mysqli_query in een $sql-variable die je opnieuw uitvoert.
Je splitst dus nu één mogelijk SQL query over twee verschillende mysqli_query-functies.
Oplossing: Bouw eerst je query op in $sql.
En voer de vervolgens uit met mysqli_query(...) of $conn->query($sql)
Daaronder ga je je SQL-query uitbreiden buiten je mysqli_query in een $sql-variable die je opnieuw uitvoert.
Je splitst dus nu één mogelijk SQL query over twee verschillende mysqli_query-functies.
Oplossing: Bouw eerst je query op in $sql.
En voer de vervolgens uit met mysqli_query(...) of $conn->query($sql)
Kees Mulder
18/03/2019 21:22:10Inderdaad ik zie het en heb dat stuk opgelost. Maar hoe kan ik het probleem met de SQL injection oplossen?
Moet ik het eerst buiten de sql-query omzetten:
$geslacht = mysql_real_escape_string($_GET['geslacht']);
en dan terug plaatsen middels:
'".$geslacht."'
Moet ik het eerst buiten de sql-query omzetten:
$geslacht = mysql_real_escape_string($_GET['geslacht']);
en dan terug plaatsen middels:
'".$geslacht."'
Gewoon integreren in je SQL-query.
Gewijzigd op 18/03/2019 21:31:16 door - Ariën -