sql >> Databáze >  >> RDS >> Mysql

Nelze aktualizovat data z databáze MySQL

Používáte dvě různé proměnné:

$parcelno ve vašem dotazu UPDATE

a $parcel = $_REQUEST['parcel'];

obě proměnné musí zápas. Pokud ne, celý váš dotaz selže.

Přidejte hlášení o chybách na začátek souboru (souborů) hned po otevření <?php tag, který pomůže při předprodukčním testování.

error_reporting(E_ALL);
ini_set('display_errors', 1);

Váš současný kód je otevřen pro vložení SQL . Použijte připravená prohlášení nebo CHOP s připravenými prohlášeními .

Navíc cituji nkchandra v komentáři +1 (pokud mohu):

"Nezáleží na vaší otázce, ale FYI, PHPMyAdmin není databáze, ale nástroj pro interakci s databází, jako je ve vašem případě mysql"

Upravit: Po přečtení vašeho komentáře se zdá, že budete muset přejít na mysqli_ funkce.

Toto je jen rychlá oprava, než se naučíte používat připravené příkazy.

<?php

error_reporting(E_ALL);
ini_set('display_errors', 1);
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);


$DB_HOST = "xxx"; // replace with yours
$DB_USER = "xxx"; // replace with yours
$DB_PASS = "xxx"; // replace with yours
$DB_NAME = "xxx"; // replace with yours


$conn = new mysqli($DB_HOST, $DB_USER, $DB_PASS, $DB_NAME);
if($conn->connect_errno > 0) {
  die('Connection failed [' . $conn->connect_error . ']');
}

$id= "";
$parcelno = "";
$items = "";
if(isset($_REQUEST['id'])){ 
$id= mysqli_real_escape_string($conn,$_REQUEST['id']); }
if(isset($_REQUEST['parcel'])){ 
$parcelno = mysqli_real_escape_string($conn,$_REQUEST['parcel']); }
if(isset($_REQUEST['items'])){ 
$items = mysqli_real_escape_string($conn,$_REQUEST['items']); }


$sql="UPDATE parcel SET parcelno='$parcelno', items='$items' where id='$id'";
$result=mysqli_query($conn,$sql) or die(mysqli_error()."\n");

if (!$result)
    {
        throw new Exception($conn->error);
    }

else { echo "Success"; }

mysqli_close($conn); // close the connection

Navíc podle r3wt's komentář:Můžete také použít:

$result= $conn->query($sql) or die(mysqli_error()."\n");

místo

$result=mysqli_query($conn,$sql) or die(mysqli_error()."\n");


  1. Automatický sběr dat:Databázové soubory a logické jednotky na MS SQL Server

  2. Vrátí GETUTCDATE() stejnou hodnotu, pokud se použije dvakrát ve stejném příkazu?

  3. Konfigurace mysql se zastaví při spuštění serveru

  4. Převeďte všechna data tabulky mysql na JSON v jarním spouštění