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
và $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");