I am using this script trying to upload an image in my database together with my form. The problem is that when i include $cover
in my query, $insert
's value is false. Can anyone tell me what I'm doing wrong?
<?php
session_start();
$con = mysqli_connect("localhost", "root", "", "testdb") or die("Error " . mysqli_error($con));
$title = "";
$year = "";
$director = "";
$genre = "";
$duration = "";
$description = "";
$name = "";
$error = false;
//check if form is submitted
if (isset($_POST['addmovie'])) {
$title = mysqli_real_escape_string($con, $_POST['title']);
$year = mysqli_real_escape_string($con, $_POST['year']);
$director = mysqli_real_escape_string($con, $_POST['director']);
$genre = mysqli_real_escape_string($con, $_POST['genre']);
$duration = mysqli_real_escape_string($con, $_POST['duration']);
$description = mysqli_real_escape_string($con, $_POST['description']);
$file = mysqli_real_escape_string($con, $_FILES['cover']['tmp_name']);
//name can contain only alpha characters and space
if (!preg_match("/^[a-zA-Z ]+$/",$title)) {
$error = true;
$title_error = "Name input must contain only alphabets and space";
}
if (!preg_match('/^[0-9]+$/',$year)) {
$error = true;
$year_error = "Year input must be only numbers";
}
if (!preg_match("/^[a-zA-Z ]+$/",$director)) {
$error = true;
$director_error = "Director input must contain only alphabets and space";
}
if(!preg_match("/^[a-zA-Z ]+$/",$genre)) {
$error = true;
$genre_error = "Genre input must contain only alphabets";
}
if(!preg_match('/^[0-9]+$/',$duration)) {
$error = true;
$duration_error = "Duration input must be only numbers";
}
if(!preg_match("/^[a-zA-Z ]+$/",$description)) {
$error = true;
$description_error = "Description input must be only letter and numbers";
}
if(!isset($file)) {
$error = true;
$cover_error = "Please select an image";
}else{
$cover = file_get_contents($_FILES['cover']['tmp_name']);
$cover_name = $_FILES['cover']['name'];
$cover_size = getimagesize($_FILES['cover']['tmp_name']);
if($cover_size == false){
$error = true;
$cover_error = "that's not an image";
}
}
if (!$error) {
if($insert = mysqli_query($con,"INSERT INTO movies(title,d,director,genre,duration,description,cover,cover_name) VALUES('$title','$year','$director','$genre','$duration','$description','$cover','$cover_name')")) {
$successmsg = "Movie ".$title." scuccesfully uploaded!";
} else {
$errormsg = "Cannot upload image!";
}
}
}
?>