SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 26.10.2013 21:38:26

ERET1K
Участник
Зарегистрирован: 26.10.2013
Сообщений: 7

PHP загрузка медиафайла в базу данных, не выходит(

пробовал и так и через INSERT
$link = new mysqli('127.0.0.1:3306','root','8050','squid');
$field_value = file_get_contents('./music/Roar.mp3');
$thaproth = "UPDATE `audio` SET `content` = $field_value WHERE `id` = '1'";
$link->query($thaproth);

и всеравно ERROR.

когда комментирую запрос и ставлю эхо $field_value - то результат нормальный - тысячи строк кракозябров.
пытаюсь отправить это в базу, не выходит. в базе создал таблицу

в таблице 2 поля id - типа int и content - типа MEDIUMBLOB.

Неактивен

 

#2 26.10.2013 21:58:29

deadka
Администратор
Зарегистрирован: 14.11.2007
Сообщений: 2422

Re: PHP загрузка медиафайла в базу данных, не выходит(

А какой error выдаёт?
Кроме того, содержимое файла обязательно оборачивайте в addslashes.
И попробуйте еще LOAD_FILE

UPDATE `audio`SET Image=LOAD_FILE('./music/Roar,mp3') WHERE ID='1';


Зеленый свет для слабаков, долги отдают только трусы, тру гики работают только в консоли...

Неактивен

 

#3 26.10.2013 22:05:34

ERET1K
Участник
Зарегистрирован: 26.10.2013
Сообщений: 7

Re: PHP загрузка медиафайла в базу данных, не выходит(

Ошибка:
Error while sending QUERY packet. PID=1145 in /Users/DmitryBarynov/Sites/second_project/song.php on line 14

Неактивен

 

#4 26.10.2013 22:08:14

deadka
Администратор
Зарегистрирован: 14.11.2007
Сообщений: 2422

Re: PHP загрузка медиафайла в базу данных, не выходит(

Это ошибка php, я же спрашивал про ошибку mysql (если она есть). Ну и остальные мои рекомендации опробуйте.


Зеленый свет для слабаков, долги отдают только трусы, тру гики работают только в консоли...

Неактивен

 

#5 26.10.2013 22:22:19

ERET1K
Участник
Зарегистрирован: 26.10.2013
Сообщений: 7

Re: PHP загрузка медиафайла в базу данных, не выходит(

ваш способ не выдает ничего. не ошибок не результата.
а как получить mysql ошибку - не в курсе.

Неактивен

 

#6 26.10.2013 22:30:55

deadka
Администратор
Зарегистрирован: 14.11.2007
Сообщений: 2422

Re: PHP загрузка медиафайла в базу данных, не выходит(

ERET1K написал:

ваш способ не выдает ничего. не ошибок не результата.

Так все же не бывает. Запрос либо выполняется либо выдаёт ошибку

ERET1K написал:

а как получить mysql ошибку - не в курсе.

Посмотрите код, приведенный в
http://sqlinfo.ru/forum/viewtopic.php?pid=14435#p14435
и сделайте по образу и подобию. Там рассматривается, как получить ошибку mysql.


Зеленый свет для слабаков, долги отдают только трусы, тру гики работают только в консоли...

Неактивен

 

#7 26.10.2013 23:00:14

ERET1K
Участник
Зарегистрирован: 26.10.2013
Сообщений: 7

Re: PHP загрузка медиафайла в базу данных, не выходит(

такое дело :

делаю так    
$file = file_get_contents('./music/Roar.mp3');   
$file = addslashes($file);   
$query = "INSERT INTO `audio` VALUES(NULL, '$file')";
$result = mysql_query($query,$link);
получаю туже ошибку. Но стоит мне заменить в запросе  $file на 1 или что либо другое - все проходит нормально. В базе появляется. не эррорит.
что может с базой?


загрузил в бау картинку все прошло окей. Но вот mp3 че-то не хочет(

Отредактированно ERET1K (26.10.2013 23:06:34)

Неактивен

 

#8 26.10.2013 23:12:57

deadka
Администратор
Зарегистрирован: 14.11.2007
Сообщений: 2422

Re: PHP загрузка медиафайла в базу данных, не выходит(

Попробуйте

$file = file_get_contents('./music/Roar.mp3');
if ( FALSE === $file ) die('File is not exists!');
$file = mysql_real_escape_string($file);
$query = "INSERT INTO `audio` VALUES(NULL, '" . $file. "')";
$result = mysql_query($query,$link);


Зеленый свет для слабаков, долги отдают только трусы, тру гики работают только в консоли...

Неактивен

 

#9 26.10.2013 23:19:04

ERET1K
Участник
Зарегистрирован: 26.10.2013
Сообщений: 7

Re: PHP загрузка медиафайла в базу данных, не выходит(

неа вот картинку загружает, а большой файл не хочет.
может надо в настройка MySql порыться? может там где-то ограничен размер запроса?

Неактивен

 

#10 26.10.2013 23:21:52

deadka
Администратор
Зарегистрирован: 14.11.2007
Сообщений: 2422

Re: PHP загрузка медиафайла в базу данных, не выходит(

Ну, начало положено - хоть что-то грузит. Поиграйте с размером max_allowed_packet
http://dev.mysql.com/doc/refman/5.1/en/ … large.html


Зеленый свет для слабаков, долги отдают только трусы, тру гики работают только в консоли...

Неактивен

 

#11 26.10.2013 23:26:39

ERET1K
Участник
Зарегистрирован: 26.10.2013
Сообщений: 7

Re: PHP загрузка медиафайла в базу данных, не выходит(

у меня с mysql спокойно работает drupal. сейчас пишу самописный сайт и вот понадобилась такая возможность.

Неактивен

 

#12 26.10.2013 23:39:51

ERET1K
Участник
Зарегистрирован: 26.10.2013
Сообщений: 7

Re: PHP загрузка медиафайла в базу данных, не выходит(

Спасибо за помошь! все окей просто в файл my.conf нужно вписать строку max_allowed_packet = 16M.

Неактивен

 

#13 27.10.2013 10:05:31

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: PHP загрузка медиафайла в базу данных, не выходит(

Рекомендую делать вывод ошибок, если бы вы написали
$result = mysql_query($query,$link) or die(mysql_error());
то сразу получили бы ошибку типа
#1153 got a packet bigger than max_allowed_packet bytes
и не пришлось бы гадать в чем проблема.

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson