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

Các biến $ _POST không hoạt động với $ _FILES và nhiều phần / biểu mẫu-dữ liệu

Bạn chỉ cần di chuyển nội dung tệp của mình vào bên trong câu lệnh if và thay đổi $_POST['filebutton'] tới $_FILES['filebutton']

Bất cứ khi nào bạn tải tệp lên, tệp sẽ được điền vào $_FILES biến toàn cục và các trường khác được điền trong $_POST biến toàn cục.

<?php
$uploaddir = "/var/www/img/pictures/";
if (isset($_FILES['filebutton'])) {  
    $uploadfile = $uploaddir . basename($_FILES['filebutton']['name']);
    move_uploaded_file($_FILES['filebutton']['tmp_name'], $uploadfile);
    $pictureUpdate = ", PICTURE_FILEPATH = '" . $_FILES['filebutton'] . "'";
} else {
    $pictureUpdate = "";
}
$connection = mysqli_connect("1.2.3.4","xxxx","xxxx","xxxx") or die("Caonnot connect to database.");
$update = "UPDATE table SET COLUMN1='" . $_POST['text1'] . "', COLUMN2='" . $_POST['text2'] . "' . $pictureUpdate . " where COLUMN3 = " . $_POST['text1'] . " ";
$update_sql = mysqli_query($connection, $update) or die("Cannot connect to mysql table. ". $update);
header("Location: " . $_SERVER['REQUEST_URL'] . "?success=1");
exit();

hãy thử mã này và xem nó có tác dụng gì với bạn, nếu cái này hoạt động và cái kia không thì điều đó có nghĩa là có nhiều thứ hơn trong mã của bạn mà chúng tôi cần để giải quyết vấn đề.

<form name="myForm" METHOD="POST" ACTION="" enctype="multipart/form-data">
  <input type="text" name="text1" id="text1">
  <input type="text" name="text2" id="text2">
  <input type="file" name="filebutton" id="filebutton">
  <input type="submit" name="submit" id="submit">
</form>
<xmp><?php if ($_SERVER['REQUEST_METHOD'] === 'POST') { var_dump($_FILES, $_POST); } ?></xmp>
array(1) {
  ["filebutton"]=>
  array(5) {
    ["name"]=>
    string(21) "scanParser.properties"
    ["type"]=>
    string(24) "application/octet-stream"
    ["tmp_name"]=>
    string(14) "/tmp/phpRm1Ytp"
    ["error"]=>
    int(0)
    ["size"]=>
    int(264)
  }
}
array(3) {
  ["text1"]=>
  string(1) "1"
  ["text2"]=>
  string(1) "2"
  ["submit"]=>
  string(6) "Submit"
}



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Kiểm tra phạm vi Mysql thay vì sử dụng chỉ mục trên tham gia bên trong

  2. thao tác DataGridView

  3. Mysql:Tối ưu hóa việc tìm kiếm siêu nút trong cây tập hợp lồng nhau

  4. Lỗi MySQL 1153 - Có gói lớn hơn byte 'max_allowed_packet'

  5. Làm cách nào để tăng tốc độ tải dữ liệu vào InnoDB (LOAD DATA INFILE)?