I need to insert the image into MySQL table. The HTML code is,
JavaScript
x
<form action="" method="POST" enctype="multipart/form-data" >
<label for="My photo" style="color: brown; font-size: 15px; margin-left: 10px"> My Avatar</label>
<div class="row">
<div class="col l5">
<input type="file" class="form-control" name="myfile" id="myfile" style="margin-left: 10px; " placeholder="My Photo">
</div>
<div class="col l4">
<button type="submit" id="insert" style=" height: 40px; color: brown">Insert Image</button>
</div>
</div>
</form>
and php code is,
JavaScript
<?php
$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
if(isset($_POST["insert"])){
$file = addslashes(file_get_contents($_FILES["myfile"]["tmp_name"]));
$sql = "INSERT INTO insertimage(MyPhoto)
VALUES ('$file')";
if ($conn->query($sql) === TRUE) {
echo "New record created successfully";
} else {
echo "Error: " . $sql . "<br>" . $conn->error;
}
}
$conn->close();
?>
After the connection to MySQL is successful, it is not inserting into the table. Can you fix this error?
Advertisement
Answer
change this
JavaScript
<button type="submit" id="insert" style=" height: 40px; color: brown">Insert Image</button>
to and add attribute name="insert"
JavaScript
<button type="submit" id="insert" name="insert" style=" height: 40px; color: brown">Insert Image</button>
Note:- For inserting <form>
data in database you need to add name
attribute.