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

Impossibile aggiornare i dati dal database MySQL

Stai utilizzando due variabili diverse:

$parcelno nella tua richiesta di AGGIORNAMENTO

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

entrambe le variabili devono incontro. In caso contrario, l'intera query avrà esito negativo.

Aggiungi la segnalazione degli errori nella parte superiore dei tuoi file subito dopo l'apertura di <?php tag, che aiuterà durante i test di pre-produzione.

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

Il tuo codice attuale è aperto a SQL injection . Usa dichiarazioni preparate o DOP con dichiarazioni preparate .

Inoltre, cito nkchandra in un commento +1 (se posso):

"Irrilevante per la tua domanda, ma per tua informazione, PHPMyAdmin non è un database ma uno strumento per interagire con database come mysql nel tuo caso"

Modifica: Dopo aver letto il tuo commento, sembra che dovrai passare a mysqli_ funzioni.

Questa è solo una soluzione rapida prima di imparare a utilizzare le istruzioni preparate.

<?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

Inoltre, come da r3wt's commento:puoi anche usare:

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

invece di

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