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");