sql >> Database >  >> RDS >> Mysql

Hoe $_POST een dynamisch toegewezen waarde in PHP?

In plaats van enkele gegevens in een name te plaatsen attribuut, maak de name Ken iets toe dat je weet en gebruik de value attribuut de onbekende gegevens, in dit geval de naam.

Dus

<input type='hidden' name='" . $tab[$x][1] . "' />

wordt

<input type='hidden' name="thename" value='" . $tab[$x][1] . "' />

Nu weet je in de PHP waar je op moet letten. Dus alles wat we nu moeten oplossen is de SQL Injection Attack problemen, doen we dat door de query voor te bereiden met een parameter en vervolgens een waarde aan de parameter te binden, zoals deze

<?php
session_start();

if ($_SERVER['REQUEST_METHOD'] == 'POST' && isset($_POST["delete-submit"])) 
{
    require "dbh.ext.php";

    // add a parameter to the query and not a concatenated value        
    $sql = "DELETE FROM `persons` WHERE `name` = ?";

    $stmt = $conn->prepare($sql);
    
    // bind the value to the parameter
    $stmt->bind_param('s', $_POST['thename']);
    $res = $stmt->execute();

    if (!$res) {
        header("Location: ../persons/persons.php?error=sqlerror");
        exit;
    } else {
        header("Location: ../persons/persons.php");
        exit();
    }
}



  1. De beste manier om te controleren op bestaande gebruikers in de mySQL-database?

  2. Zullen ANSI JOIN-query's anders presteren dan niet-ANSI JOIN-query's?

  3. Kan geen verbinding maken met MySQL-server op '127.0.0.1' (10061) (2003)

  4. Een beperking voor een externe sleutel toevoegen aan een bestaande tabel in SQL Server (T-SQL)