Tôi nghĩ câu hỏi của bạn không thực sự phản ánh vấn đề của bạn? Có vẻ như bạn thực sự gặp sự cố khi tìm nạp nguồn hình ảnh từ cơ sở dữ liệu? Bên cạnh mã bạn cung cấp không giúp gì nhiều. có thể đăng mã có liên quan đến hoạt động cơ sở dữ liệu để chúng tôi có thể thấy có vấn đề gì với việc cập nhật/tìm nạp dữ liệu từ cơ sở dữ liệu.
Tuy nhiên dựa trên giả định, tôi sẽ cố gắng trả lời câu hỏi của bạn.
Nếu không có dữ liệu nào khác được chuyển cùng với yêu cầu ngoại trừ cập nhật hình ảnh, thì giải pháp sẽ là, di chuyển truy vấn cơ sở dữ liệu của bạn vào khối nếu. Có nghĩa là .. không cập nhật cơ sở dữ liệu nếu không có hình ảnh được tải lên.
if (!empty($_FILES['fileToUpload']))
{
$dest = 'images/Uploaded/';
if (move_uploaded_file($_FILES['fileToUpload']['tmp_name'], $dest.$_FILES['fileToUpload']['name']))
$file = $dest.$_FILES['fileToUpload']['name'];
//database update here
}
vì nếu các truy vấn cơ sở dữ liệu của bạn xảy ra bên ngoài khối IF, cơ sở dữ liệu sẽ được cập nhật và giả sử bạn chuyển biến $ file vào truy vấn. và $ file trong trường hợp này sẽ trống vì $ file chỉ được định nghĩa và đưa ra một giá trị trong khối IF.
Tôi rất thích để giúp bạn tiếp tục, nhưng để làm vì vậy bạn cần để giúp chúng tôi với một số thông tin như thế nào,
Bạn có thể chia sẻ thêm mã của bạn (bạn có thể che giấu dữ liệu nhạy cảm)
là có dữ liệu khác được gửi kèm với tải lên mà bạn có thể cần phải cập nhật dữ liệu người dùng trong cơ sở dữ liệu nhưng vẫn giữ nguyên hình ảnh đó không?
Nếu vậy ..bạn có 2 tùy chọn
1) lấy tệp người dùng hiện tại trước khi thực hiện cập nhật bằng cách chọn tệp đó từ cơ sở dữ liệu, lưu trữ nó trong biến $ file trước khối IF bạn đã nêu. Nếu điều kiện là đúng, biến $ file sẽ được cập nhật, nếu không, biến $ file sẽ có giá trị cũ mà bạn gán cho nó, đó là tệp người dùng hiện tại.
2) tạo truy vấn sql động, có nghĩa là nếu người dùng tải lên ảnh mới thêm vào truy vấn, nếu không thêm nó vào truy vấn và chỉ cập nhật các trường cần được cập nhật. Tôi không quen thuộc với PDO, nhưng khái niệm ở đây.
Bạn chỉ có thể sử dụng một điều kiện khi xây dựng truy vấn của bạn. – Burki
@Hunter: Bạn có thể thử http://www.dreamincode.net/forums/topic/118382-how-to-update-an-image-in-mysql/ – Abdul
HOẶC sử dụng if (file_exists ($ TARGET_PATH)) { // mã của bạn } – Abdul