Mysql
 sql >> база данни >  >> RDS >> Mysql

Как да $_POST динамично присвоена стойност в PHP?

Вместо да поставяте някои данни в name атрибут, направете name приписвайте нещо, което знаете, и използвайте value приписвайте неизвестните данни, името в този случай.

Така че

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

става

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

Сега в PHP знаете какво да търсите. Така че всичко, което трябва да поправим сега, е SQL Injection Attack проблеми, ние правим това, като подготвяме заявката с параметър и след това обвързваме стойност към параметъра по този начин

<?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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Използване на индекс, използване на временен, използване на filesort - как да поправя това?

  2. Защо редовете, връщани чрез обяснение, не са равни на count()?

  3. Да се ​​добави ли идентификатор за автоматично увеличение към съществуваща таблица?

  4. Модел на списък на съседство срещу модел на вложен набор за йерархични данни на MySQL?

  5. Производителност на MySQL Insert изрази в Java:Подготвени оператори в пакетен режим срещу единично вмъкване с множество стойности