sql >> Database teknologi >  >> RDS >> Mysql

Hvordan $_POST en dynamisk tildelt værdi i PHP?

I stedet for at placere nogle data i et name attribut, lav name tilskriv noget, du kender, og brug value tilskriv de ukendte data, navnet i dette tilfælde.

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

bliver til

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

Nu ved du i PHP, hvad du skal kigge efter. Så alt, hvad vi skal rette nu, er SQL Injection Attack problemer, gør vi det ved at forberede forespørgslen med en parameter og derefter binde en værdi til parameteren som denne

<?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. Problem med mysqldump:--defaults-extra-file-indstillingen fungerer ikke som forventet

  2. Tæl fra en tabel, men stop med at tælle ved et bestemt tal

  3. Databasekontrolpunkter i SQL Server

  4. Django sæt Storage Engine &Default Charset