Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Nie można zaktualizować danych z bazy danych MySQL

Używasz dwóch różnych zmiennych:

$paczka w zapytaniu UPDATE

i $paczka =$_WNIOSEK['paczka'];

obie zmienne muszą mecz. Jeśli tak się nie stanie, całe zapytanie zakończy się niepowodzeniem.

Dodaj raportowanie błędów na górze pliku(ów) zaraz po otwarciu tag, który pomoże podczas testów przedprodukcyjnych.

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

Twój obecny kod jest otwarty na wstrzyknięcie SQL . Użyj przygotowanych wyciągów lub PDO z przygotowanymi oświadczeniami .

Dodatkowo cytuję nkchandra w komentarzu +1 (jeśli mogę):

"Bez związku z Twoim pytaniem, ale do Twojej wiadomości, PHPMyAdmin nie jest bazą danych, ale narzędziem do interakcji z bazą danych, takim jak mysql w Twoim przypadku"

Edytuj: Po przeczytaniu komentarza wydaje się, że będziesz musiał przejść na mysqli_ funkcje.

To tylko szybkie rozwiązanie, zanim nauczysz się korzystać z przygotowanych wyciągów.

<?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, zgodnie z r3wt komentarz:Możesz także użyć:

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

zamiast

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


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak zoptymalizować zapytania MySQL za pomocą stałych?

  2. Czy ktoś wymyślił, jak skalować repliki Amazon RDS do odczytu?

  3. mysql-connector-java dla mysql 5.6

  4. Wiele nie istnieje w MYSQL, aby sprawdzić liczbę wierszy

  5. mysql:select max(score) nie zwraca odpowiednich danych wiersza