2015-07-04 2 views
0

Я пытаюсь вставить изображение в базу данных mysql. Я использую следующий запрос. Но запрос не работает. Если я удалю часть вставки изображения, она будет работать. В чем проблема? Может кто-нибудь помочьВставить изображение в mysql using LOAD_FILE() не работает

$sql="INSERT INTO mytable (`username`, `password`, `firstname`, `lastname`,`email`,`pic`) VALUES ('$username', '$password', '$fname', '$lname', '$email',LOAD_FILE('img/pro.jpg'));"; 
+1

Вы должны отладить запрос, проверяя соответствующий метод ошибок для используемого вами API MySQL. Это будет 'mysql_error(), mysqli_error(), $ pdo-> errorInfo()' и т. Д. Я подозреваю, что вы используете голый устаревший 'mysql_query()' на основе ваших переменных в запросе. 'LOAD_FILE()' требует специальных привилегий. https://dev.mysql.com/doc/refman/5.0/en/string-functions.html#function_load-file –

+0

yes Я использую mysql_query(). –

+0

Что я должен использовать для вставки изображения? –

ответ

1

Для использования LOAD_FILE() вы должны иметь привилегию FILE. Если у вас есть так, то попробуйте использовать абсолютный путь, как показано ниже

INSERT INTO mytable (`username`, `password`, `firstname`, `lastname`,`email`,`pic`) 
VALUES ('$username', '$password', '$fname', '$lname', '$email',LOAD_FILE('D:\img\pro.jpg')); 

(OR)

Если img является корневым путем, то он должен выглядеть

INSERT INTO mytable (`username`, `password`, `firstname`, `lastname`,`email`,`pic`) 
VALUES ('$username', '$password', '$fname', '$lname', '$email',LOAD_FILE('/img/pro.jpg')); 
+0

Это нормально. Это была опечатка в моем вопросе. Это не моя проблема –

+0

Тогда это должно быть ясно в сообщении. Редактирование сообщения после ответа делает недействительным ответ. В любом случае, см. Править в ответ, если это помогает. – Rahul

Смежные вопросы