Menyelesaikan masalah LOAD_FILE untuk MySQL Blob Loading
Percubaan untuk menggunakan LOAD_FILE untuk memuatkan fail ke dalam gumpalan MySQL mungkin menghadapi masalah, seperti yang ditunjukkan dalam pertanyaan berikut:
INSERT INTO MyTable VALUES('7', LOAD_FILE('Dev:MonDoc.odt'))
Salin selepas log masuk
Walaupun tiada ralat jelas, fail gagal dimuatkan ke dalam gumpalan. Untuk menyelesaikan isu ini, adalah penting untuk mematuhi syarat yang digariskan dalam dokumentasi MySQL:
-
Lokasi Fail: Fail mesti berada pada hos pelayan, dan laluan penuhnya mesti dinyatakan.
-
Kebenaran Fail: Fail mesti boleh dibaca oleh semua orang dan saiznya mestilah kurang daripada max_allowed_packet bytes.
-
Tetapan Pembolehubah Sistem: Jika pembolehubah sistem secure_file_priv dikonfigurasikan dengan nama direktori yang tidak kosong, fail mesti terletak dalam direktori tersebut.
-
Kewujudan Fail: Jika fail tidak wujud atau tidak boleh diakses kerana isu kebenaran, fungsi akan mengembalikan NULL.
-
Contoh Penggunaan: Sintaks yang betul, seperti yang disediakan dalam manual, hendaklah seperti berikut:
UPDATE t
SET blob_col=LOAD_FILE('/tmp/picture')
WHERE>
Salin selepas log masuk
Untuk menyelesaikan masalah dalam kes khusus anda, pertimbangkan perkara berikut:
- Pastikan anda menyediakan fail lengkap laluan, termasuk semua peringkat direktori yang diperlukan.
- Sahkan bahawa kebenaran yang sesuai diberikan untuk membenarkan akses fail.
- Periksa nilai pulangan fungsi; hasil NULL menunjukkan isu dengan akses atau ketersediaan fail.
- Cuba pertanyaan yang diberikan dalam manual untuk menentukan sama ada faktor lain mungkin mempengaruhi tingkah laku.
Atas ialah kandungan terperinci Mengapa Fungsi MySQL LOAD_FILE Saya Gagal Memuatkan Gumpalan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!