sql >> Database >  >> RDS >> Mysql

Kan gegevens uit MySQL-database niet bijwerken

Je gebruikt twee verschillende variabelen:

$parcelno in uw UPDATE-query

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

beide variabelen moeten wedstrijd. Als je dat niet doet, zal je hele zoekopdracht mislukken.

Voeg foutrapportage toe aan de bovenkant van uw bestand(en) direct na uw opening <?php tag, wat helpt tijdens pre-productietests.

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

Uw huidige code staat open voor SQL-injectie . Gebruik voorbereide verklaringen , of BOB met voorbereide statements .

Bovendien citeer ik nkchandra in een reactie +1 (als ik mag):

"Irrelevant voor uw vraag, maar ter informatie, PHPMyAdmin is geen database maar een tool om te communiceren met databases zoals mysql in uw geval"

Bewerken: Na het lezen van je reactie, lijkt het alsof je moet overschakelen naar mysqli_ functies.

Dit is slechts een snelle oplossing voordat u voorbereide uitspraken leert gebruiken.

<?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, volgens r3wt's opmerking:je kunt ook gebruiken:

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

in plaats van

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


  1. Bereken delta (verschil van huidige en vorige rij) mysql-groep per specifieke kolom

  2. Datumverschil in MySQL om leeftijd te berekenen

  3. PostgreSQL:Hoe stel ik het zoekpad in op gebruikersniveau?

  4. Een overzicht van vertrouwde extensies in PostgreSQL 13