Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Tidak dapat memperbarui data dari database MySQL

Anda menggunakan dua variabel berbeda:

$parcelno dalam kueri UPDATE Anda

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

kedua variabel harus cocok. Jika tidak, maka seluruh kueri Anda akan gagal.

Tambahkan pelaporan kesalahan ke bagian atas file Anda tepat setelah <?php opening pembukaan Anda tag, yang akan membantu selama pengujian pra-produksi.

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

Kode Anda saat ini terbuka untuk injeksi SQL . Gunakan pernyataan yang disiapkan , atau PDO dengan pernyataan yang disiapkan .

Plus, saya mengutip nkchandra dalam komentar +1 (kalau boleh):

"Tidak relevan dengan pertanyaan Anda, tetapi FYI, PHPMyAdmin bukan database tetapi alat untuk berinteraksi dengan database seperti mysql dalam kasus Anda"

Sunting: Setelah membaca komentar Anda, sepertinya Anda perlu beralih ke mysqli_ fungsi.

Ini hanyalah perbaikan cepat sebelum Anda belajar menggunakan pernyataan yang sudah disiapkan.

<?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, sesuai r3wt's komentar:Anda juga dapat menggunakan:

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

bukannya

$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. Mengukur waktu kueri MySQL yang sebenarnya

  2. mysqld_safe Direktori '/var/run/mysqld' untuk file soket UNIX tidak ada

  3. PHP-SQL:Gambar yang diunggah ditampilkan sebagai teks sampah

  4. Pilih kolom dengan alias di MySQL

  5. Saat menjalankan UPDATE ... datetime =NOW(); apakah semua baris yang diperbarui memiliki tanggal/waktu yang sama?