sql >> Database >  >> RDS >> Mysql

PHP/MySQL - hoe automatisch een verwijderlink genereren voor een rij in een reeds automatisch gegenereerde tabel?

Wijzig dit

<a href='#'><span class='delete'>

naar

<a href='deletepage.php?id=" . $row["ID"] . "'><span class='delete'>

dan op "deletepage.php", hoe je die pagina ook gaat noemen, doe zoiets als

require_once('dbconnect.php');
$id = (int)$_GET['id'];
$sql = "DELETE FROM Predictions WHERE id=" . $id;    
if($conn->query($sql) === TRUE) {
    echo "Item deleted successfully";
} else {
    echo "Error deleting record; ". $conn->error;
}
$conn->close();

Ik weet niet welk stuurprogramma u hier gebruikt, maar de voorkeursoplossing zou het gebruik van een voorbereide instructie met een geparametriseerde query zijn.

Je stuurt zo ongeveer de id via een GET parameter naar uw "pagina verwijderen". Die pagina neemt die waarde, cast het naar een int om SQL-injecties te voorkomen (lees hieronder verder), en verwijdert vervolgens de gegevens. Je zou ook in plaats van een succes daar te herhalen een header . kunnen gebruiken om ze door te verwijzen naar de vorige pagina. Je zou een GET . kunnen toevoegen parameter aan die url een succesbericht weer te geven. (of je kunt dit altijd allemaal op dezelfde pagina doen en gewoon controleren of de id wordt verzonden).

Ook moet u deze pagina achter een beveiligd inlogsysteem hebben. Je wilt niet dat een gebruiker/bot die deletepage.php . kan uitvoeren .

Hoe kan ik SQL-injectie in PHP voorkomen?
http://php.net/manual/en /security.database.sql-injection.php
https://www.owasp.org /index.php/SQL_Injection_Prevention_Cheat_Sheet#Defense_Option_1:_Prepared_Statements_.28Parameterized_Queries.29

Ik gok dat je mysqli . gebruikt dus bekijk dit document voor voorbereide verklaringen met die driver, http ://php.net/manual/en/mysqli.quickstart.prepared-statements.php .




  1. Mysql krijgt de laatste id van een specifieke tabel

  2. RowGen v3 automatiseert het genereren van databasetestgegevens

  3. Een statisch voorvoegsel toevoegen aan een oplopend nummer

  4. Optimalisatiedrempels - Gegevens groeperen en aggregeren, deel 2