For some reason, my 800x800px image becomes trimmed. But when I use my 80x80px it doesn't appear to be trimmed. How do I fix this? It also says that I have a blob - 64kib in my sql. How can I increase the limit? Only 20% of the image is shown.
Update: It is solved, I used mediumblob instead of blob.
if(isset($_POST["insert"]))
{
$file = addslashes(file_get_contents($_FILES["image"]["tmp_name"]));
$query = "UPDATE users SET image='$file' WHERE email= '$param_email'";
if(mysqli_query($connect, $query))
{
echo '<script>alert("Image Inserted into Database")</script>';
}
}
?>
Html:
<form method="post" enctype="multipart/form-data">
<input type="file" src=
<?php
$query = "SELECT image FROM users where email='$param_email'";
$result = mysqli_query($connect, $query);
while($row = mysqli_fetch_array($result))
{echo'"data:image/jpeg;base64,'.base64_encode($row['image'] ).'"';}?> name="image" id="image" />
<input type="submit" name="insert" id="insert" value="Insert" class="btn btn-info" />
</form>
<table>
<?php
$query = "SELECT image FROM users where email='$param_email'";
$result = mysqli_query($connect, $query);
while($row = mysqli_fetch_array($result))
{
echo '
<tr>
<td>
<img src="data:image/jpeg;base64,'.base64_encode($row['image'] ).'" height="200" width="200" class="img-thumnail" />
</td>
</tr>
';
}
?>
</table>
JS:
<script>
$(document).ready(function(){
$('#insert').click(function(){
var image_name = $('#image').val();
if(image_name == '')
{
alert("Please Select Image");
return false;
}
else
{
var extension = $('#image').val().split('.').pop().toLowerCase();
if(jQuery.inArray(extension, ['gif','png','jpg','jpeg']) == -1)
{
alert('Invalid Image File');
$('#image').val('');
return false;
}
}
});
});
</script>
Thanks guys! Please share this as well so that this can be solved faster :)