Здравствуйте,
разрабатываю веб интерфейс.
Необходимо файлы сохранять в базе данных. (не ругайтесь, это тз)
Создал таблицу, столбец в которой имеет тип longblob
настроил php чтобы пропускал файлы по больше
написал не сложный php скрипт который собственно и занимается загрузкой файлов и записью их в базу.
$allowed = array('png', 'jpg', 'gif', 'jpeg');
if(isset($_FILES['upl']) && $_FILES['upl']['error'] == 0){
$extension = pathinfo($_FILES['upl']['name'], PATHINFO_EXTENSION);
if(!in_array(strtolower($extension), $allowed)){
echo '{"status":"error"}';
exit;
}
$files = file_get_contents( $_FILES['upl']['tmp_name'] );
$files = mysql_escape_string( $files );
$mime = $_FILES['upl']['type'];
$size = $_FILES['upl']['size'];
$name = $_FILES['upl']['name'];
$kode = $_SESSION['kode'];
if(isset($_SESSION['img_id']) and $_SESSION['img_id']!=''){
$imgID = $_SESSION['img_id'];
$sql = "INSERT INTO img (content,leng,mime,name,kod_users) VALUES ('$files','$size','$mime','$name','$imgID')";
}
else
{
$sql = "INSERT INTO img (content,leng,mime,name,kode) VALUES ('$files','$size','$mime','$name','$kode')";
}
if(mysqli_query($db,$sql)){
echo '{"status":"success"}';
exit;
}
else{
echo mysqli_error($db);
}
}
Ошибка возникает вот тут:
if(mysqli_query($db,$sql)){
echo '{"status":"success"}';
exit;
}
а именно
if(mysqli_query($db,$sql))
Клиент получает статус 500
Вот что в логах:
PHP Warning: mysqli_query(): MySQL server has gone away in C:\inetpub\wwwroot\ok\upload.php on line 43
PHP Warning: mysqli_query(): Error reading result set's header in C:\inetpub\wwwroot\ok\upload.php on line 43
PHP Warning: mysqli_query(): MySQL server has gone away in C:\inetpub\wwwroot\ok\upload.php on line 43
PHP Warning: mysqli_query(): Error reading result set's header in C:\inetpub\wwwroot\ok\upload.php on line 43
PHP Warning: mysqli_query(): MySQL server has gone away in C:\inetpub\wwwroot\ok\upload.php on line 43
PHP Warning: mysqli_query(): Error reading result set's header in C:\inetpub\wwwroot\ok\upload.php on line 43
В чем может быть проблема? Я так предполагаю надо что то настроит в самом MySQL, но что?
Заранее большое спасибо!