ISSET input voor MySQL SELECT
Ik ben bezig met een website (https://voetbalmatch.eu/) over WK wedstrijden.
Als in de laatste kolom (Game info) men op de i knop klikt opent er een nieuwe info pagina (info.php)
Het is de bedoeling dat alle wedstrijd informatie (welke in de db zit), behorende bij die wedstrijd zal worden weergegeven.
De Game_id wordt al meegegeven wanneer je op de i knop klikt.
Hierdoor kan je op de info.php met een echo het game_id nummer tonen. Dit is nu de huidige situatie als je dit test. Onderstaand de php code die nu is ingesteld.
Code (php)
Mijn vraag is nu, hoe kan ik een mysql select maken op basis van het game_id nummer? Bijvoorbeeld
Ik heb al verschillende codes geprobeerd maar kom niet tot het gewenste resultaat of krijg een php foutmelding. Een voorbeeld van de code is
Code (php)
1
2
3
4
5
6
2
3
4
5
6
<?php
include_once("includes/db_connect.php");
$sql_query = "SELECT * FROM Games WHERE Game_id = "$_GET["Game_id"]"";
if ( isset( $_GET["Game_id"] ) )
echo "<p>ID: " . $_GET["Game_id"] . "</p>";
?>
include_once("includes/db_connect.php");
$sql_query = "SELECT * FROM Games WHERE Game_id = "$_GET["Game_id"]"";
if ( isset( $_GET["Game_id"] ) )
echo "<p>ID: " . $_GET["Game_id"] . "</p>";
?>
Anders zou door een kleinigheidje heel je database per ongeluk verwijderd kunnen worden.
Gewijzigd op 07/07/2021 14:44:37 door Ramon van Dongen
1. $_GET["Game_id"] bevat een tekenreeks:
Code (php)
1
2
3
2
3
<?php
$sql_query = "SELECT * FROM Games WHERE Game_id = '" . mysqli_real_escape_string($conn, $_GET["Game_id"]) . "'";
?>
$sql_query = "SELECT * FROM Games WHERE Game_id = '" . mysqli_real_escape_string($conn, $_GET["Game_id"]) . "'";
?>
2. $_GET["Game_id"] bevat een getal:
Code (php)
1
2
3
2
3
<?php
$sql_query = "SELECT * FROM Games WHERE Game_id = " . ((int) $_GET["Game_id"]);
?>
$sql_query = "SELECT * FROM Games WHERE Game_id = " . ((int) $_GET["Game_id"]);
?>
3. je wilt dat het altijd werkt:
Gebruik prepared statements.
Ramon van Dongen op 07/07/2021 14:44:18:
In aanvulling op Adoptive Solution; lees je ook even goed in hoe je mysqli_real_escape_string toepast en dus de invoer vanuit $_GET escapet.
Anders zou door een kleinigheidje heel je database per ongeluk verwijderd kunnen worden.
Anders zou door een kleinigheidje heel je database per ongeluk verwijderd kunnen worden.
Ga ik zeker doen, dank!
Code (php)
Dit is niet een vervanging van de SQL escaping: die moet je altijd toepassen, omdat je nooit 100% zeker bent of de bovenstaande check wel alles afvangt, en of je over 3 maanden niet door een aanpassing deze check weer per ongeluk verwijdert.
Please create a new topic!
- Ariën - op 27/08/2021 11:27:40:
Please create a new topic!
You sure you want to check the $_POST['boxes'] array in that condition whether it is equivalent to "Y" instead of $selected?
Edit:
Ja, dát dus, wat je quote!
Verder kan dit topic dicht vanwege spamkick.
Verder kan dit topic dicht vanwege spamkick.
Gewijzigd op 19/01/2022 20:07:20 door - Ariën -
.