isset toevoegen aan een select count

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Als medior Java developer aan de slag in de farmac

Vacature Omschrijving Wil jij aan de slag als medior Java ontwikkelaar in een uitermate dynamische branche? Dan is deze partij in Oosterhout zeker interessant. Zij ontwikkelen en beheren zorgsystemen voor huisartsen, huisartsenposten, openbare en ziekenhuisapotheken, medische specialisten en geïntegreerde eerstelijns zorgorganisaties. Hierbij is samenwerken hun grote kracht bij het ontwikkelen van IT-oplossingen. Met innovatieve ontwikkelingen dragen zij bij aan kwalitatief hoogwaardige, betaalbare, doelmatige en toegankelijke zorg. Betere, efficiëntere en goedkopere zorg is waar zij aan willen meehelpen. Slimme IT-oplossingen zijn onmisbaar geworden om de zorg betaalbaar te houden in deze tijd van afname van de beroepsbevolking en tegelijkertijd de toename

Bekijk vacature »

Als PHP programmeur werken aan IT oplossingen voor

Vacature Omschrijving Deze fraaie partij ondersteunt bedrijven bij hun technische vraagstukken door middel van software, trainingen, de inzet van specialisten en state of the art apparatuur. Hun missie is: “Het leveren van technische producten, diensten en systemen die van meerwaarde zijn voor de opdrachtgevers.” Zij beantwoorden dan ook de meest uiteenlopende technische vraagstukken, waarbij zij zich richten op vijf marktsegmenten: Bovengrondse Infrastructuur, Ondergrondse Infrastructuur, Bouw & Installatietechniek, Geo & Data en Industrie & Energie. Als technisch specialist ontwerpen zij niet alleen producten en oplossingen voor deze marktsegmenten, maar nemen zij ook het beheer en onderhoud op zich. Deze groeiende partij

Bekijk vacature »

Kees Mulder

Kees Mulder

18/03/2019 19:31:04
Quote Anchor link
Is 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)
PHP script in nieuw venster Selecteer het PHP script
1
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);
Gewijzigd op 18/03/2019 19:32:06 door Kees Mulder
 
PHP hulp

PHP hulp

19/08/2019 04:32:34
 
- Ariën -
Beheerder

- Ariën -

18/03/2019 19:50:56
Quote Anchor link
Wat gaat er mis?

Verder wil ik je wel wijzen op de gevaarlijke SQL-injection via $_GET!
 
Kees Mulder

Kees Mulder

18/03/2019 20:29:58
Quote Anchor link
Het 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'])
Gewijzigd op 18/03/2019 20:47:14 door Kees Mulder
 
- Ariën -
Beheerder

- Ariën -

18/03/2019 21:04:05
Quote Anchor link
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)
 
Kees Mulder

Kees Mulder

18/03/2019 21:22:10
Quote Anchor link
Inderdaad 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."'
 
- Ariën -
Beheerder

- Ariën -

18/03/2019 21:30:48
Quote Anchor link
Gewoon integreren in je SQL-query.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
$sql .= "AND talen.talen_slug = '".mysqli_real_escape_string($conn,$_GET['taal'])."'";
Gewijzigd op 18/03/2019 21:31:16 door - Ariën -
 



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.