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

Chèn dữ liệu bằng mảng đa chiều từ nhiều trường

CẬP NHẬT

(Chà, đó là một điều khó khăn):Bạn đang xác định tất cả các trường đầu vào trong biểu mẫu HTML của mình dưới dạng mảng. Bạn có thể xóa những [] đó điều này làm cho chúng thành mảng hoặc bạn có thể sử dụng name=insp[] trên insp của bạn - hộp kiểm tra. Sau đó, xuất nội dung bạn gửi bằng var_dump($_POST) và bạn thấy cách bạn có thể phân tích cú pháp mảng.

Hoặc tạo một mảng lồng nhau. Một cái gì đó như thế này sẽ hữu ích:

while($row = mysqli_fetch_assoc($result)) {

    extract($row);

    echo "<tr>\n
    <td><input type='checkbox' checked='checked' name='items[{$scaffreq_id}][id]' /></td>\n
        <td><center>{$scaffreq_id}</center></td>\n
        <td><center>{$level} m</center></td>\n
        <td><center><input type='checkbox' checked='checked' name='items[{$scaffreq_id}][insp][a]' /></center></td>\n            
        <td><center><input type='checkbox' checked='checked' name='items[{$scaffreq_id}][insp][b]' /></center></td>\n
        <td><center><input type='checkbox' checked='checked' name='items[{$scaffreq_id}][insp][c]' /></center></td>\n
        <td><center><input type='checkbox' checked='checked' name='items[{$scaffreq_id}][insp][d]' /></center></td>\n
        <td><center><input type='checkbox' checked='checked' name='items[{$scaffreq_id}][insp][e]' /></center></td>\n
        <td><center><input type='checkbox' checked='checked' name='items[{$scaffreq_id}][insp][f]' /></center></td>\n
        <td><center><input type='checkbox' checked='checked' name='items[{$scaffreq_id}][insp][g]' /></center></td>\n
        <td><center><input type='checkbox' checked='checked' name='items[{$scaffreq_id}][insp][h]' /></center></td>\n
        <td><center><input type='checkbox' checked='checked' name='items[{$scaffreq_id}][insp][i]' /></center></td>\n
        <td><center><input type='checkbox' checked='checked' name='items[{$scaffreq_id}][insp][j]' /></center></td>\n
        <td><center><input type='checkbox' checked='checked' name='items[{$scaffreq_id}][insp][k]' /></center></td>\n
        <td><center><input type='checkbox' checked='checked' name='items[{$scaffreq_id}][insp][l]' /></center></td>\n
        <td><center><p><input type='text' name='items[{$scaffreq_id}][reason]' maxlength='255' size='45' value='Reason{$insp_reason}'></p></center></td>\n
        </tr>\n";
}

Thật không dễ dàng để trợ giúp nếu không nhìn thấy mã biểu mẫu HTML. Nhưng đối với tôi, $ID rất có thể không phải là một mảng. Vì vậy, sử dụng foreach($ID as ...) không tốt. Thay vào đó, hãy xây dựng chuỗi của bạn như sau:

$query = "INSERT INTO `inspect` (`ID`,`a`,`b`,`c`,`d`,`e`,`f`,`g`) VALUES ";
$query .= "({$ID}, {$a}, {$b}, {$c}, {$d}, {$e}, {$f}, {$g})";

Cảnh báo:
Lưu ý rằng mã của bạn không an toàn và không thể sử dụng được đối với việc đưa vào SQL (xem SO Q&A này ). Sử dụng câu lệnh chuẩn bị sẵn của PDO thay vì mysql() chức năng!




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. So sánh các giá trị của dấu thời gian và chỉ định một giá trị cho từng dấu thời gian trong trường hợp chúng đã thay đổi

  2. Điều đó có nghĩa là gì khi MySQL ở trạng thái Đang gửi dữ liệu?

  3. Làm thế nào để hợp nhất hai cơ sở dữ liệu mySQL thành một?

  4. Không thể cài đặt mysqlclient trên centos

  5. Nhận các giá trị trong 6 tháng qua trong mysql