Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Không thể cập nhật dữ liệu từ cơ sở dữ liệu MySQL

Bạn đang sử dụng hai biến khác nhau:

$parcelno trong truy vấn CẬP NHẬT của bạn

$parcel = $_REQUEST['parcel'];

cả hai biến phải cuộc thi đấu. Nếu không, thì toàn bộ truy vấn của bạn sẽ không thành công.

Thêm báo cáo lỗi vào đầu (các) tệp của bạn ngay sau khi bạn mở <?php , điều này sẽ giúp ích trong quá trình thử nghiệm trước khi sản xuất.

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

Mã hiện tại của bạn được mở cho Chèn SQL . Sử dụng báo cáo đã chuẩn bị sẵn hoặc PDO với báo cáo chuẩn bị .

Ngoài ra, tôi trích dẫn nkchandra trong một nhận xét +1 (nếu tôi có thể):

"Không liên quan đến câu hỏi của bạn, nhưng FYI, PHPMyAdmin không phải là cơ sở dữ liệu mà là một công cụ để tương tác với cơ sở dữ liệu như mysql trong trường hợp của bạn"

Chỉnh sửa: Sau khi đọc nhận xét của bạn, có vẻ như bạn sẽ cần chuyển sang mysqli_ các chức năng.

Đây chỉ là một bản sửa lỗi nhanh trước khi bạn học cách sử dụng các câu lệnh đã chuẩn bị.

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

Ngoài ra, theo r3wt's nhận xét:Bạn cũng có thể sử dụng:

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

thay vì

$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. cách gửi tùy chọn đã chọn từ danh sách thả xuống trong trang jsp để thực hiện truy vấn mysql

  2. Làm thế nào để tạo / autoincrement hướng dẫn về chèn mà không có trình kích hoạt và chèn thủ công trong mysql?

  3. Làm thế nào để giải quyết vấn đề mã hóa ký tự MySQL?

  4. Mysql lỗi 1236 từ chính khi đọc dữ liệu từ nhật ký nhị phân

  5. Nút MySQL Galera không bắt đầu (hủy bỏ với Lỗi 'WSREP:[...]:60:không thể truy cập chế độ xem chính:60 (Đã hết thời gian hoạt động)')