Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Daten aus der MySQL-Datenbank können nicht aktualisiert werden

Sie verwenden zwei verschiedene Variablen:

$paketnummer in Ihrer UPDATE-Abfrage

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

beide Variablen müssen passen. Wenn dies nicht der Fall ist, schlägt Ihre gesamte Abfrage fehl.

Fügen Sie direkt nach dem Öffnen von Fehlerberichte oben in Ihre Datei(en) ein -Tag, das beim Testen vor der Produktion hilfreich sein wird.

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

Ihr aktueller Code ist offen für SQL-Injection . Verwenden Sie vorbereitete Anweisungen , oder PDO mit vorbereiteten Statements .

Außerdem zitiere ich nkchandra in einem Kommentar +1 (wenn ich darf):

"Irrelevant für Ihre Frage, aber zu Ihrer Information, PHPMyAdmin ist keine Datenbank, sondern ein Tool zur Interaktion mit Datenbanken wie in Ihrem Fall mysql"

Bearbeiten: Nachdem Sie Ihren Kommentar gelesen haben, müssen Sie anscheinend zu mysqli_ Funktionen.

Dies ist nur eine schnelle Lösung, bevor Sie lernen, vorbereitete Anweisungen zu verwenden.

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

Plus, gemäß r3wt's Kommentar:Sie können auch verwenden:

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

statt

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