Как хранить изображения в базе данных mysql с помощью php

Как я могу хранить и отображать изображения в базе данных MySQL. До сих пор я только написал код, чтобы получить изображения от пользователя и сохранить их в папке, код, который я написал до сих пор: HTML FILE

<input type="file" name="imageUpload" id="imageUpload"> 

PHP FILE

  $target_dir = "uploads/"; $target_file = $target_dir . basename($_FILES["imageUpload"]["name"]); $uploadOk = 1; $imageFileType = pathinfo($target_file,PATHINFO_EXTENSION); if (move_uploaded_file($_FILES["imageUpload"]["tmp_name"], $target_file)) { echo "The file ". basename( $_FILES["imageUpload"]["name"]). " has been uploaded."; } else { echo "Sorry, there was an error uploading your file.";} 

Я нашел ответ: для тех, кто ищет то же самое, вот как я это сделал. Вы не должны рассматривать загрузку изображений в базу данных, вместо этого вы можете сохранить имя загруженного файла в своей базе данных, а затем получить имя файла и использовать его там, где хотите отобразить изображение.

HTML-код

 <input type="file" name="imageUpload" id="imageUpload"> 

PHP-код

 if(isset($_POST['submit'])) { //Process the image that is uploaded by the user $target_dir = "uploads/"; $target_file = $target_dir . basename($_FILES["imageUpload"]["name"]); $uploadOk = 1; $imageFileType = pathinfo($target_file,PATHINFO_EXTENSION); if (move_uploaded_file($_FILES["imageUpload"]["tmp_name"], $target_file)) { echo "The file ". basename( $_FILES["imageUpload"]["name"]). " has been uploaded."; } else { echo "Sorry, there was an error uploading your file."; } $image=basename( $_FILES["imageUpload"]["name"],".jpg"); // used to store the filename in a variable //storind the data in your database $query= "INSERT INTO items VALUES ('$id','$title','$description','$price','$value','$contact','$image')"; mysql_query($query); require('heading.php'); echo "Your add has been submited, you will be redirected to your account page in 3 seconds...."; header( "Refresh:3; url=account.php", true, 303); } 

КОД ДЛЯ ОТОБРАЖЕНИЯ ИЗОБРАЖЕНИЯ

 while($row = mysql_fetch_row($result)) { echo "<tr>"; echo "<td><img src='uploads/$row[6].jpg' height='150px' width='300px'></td>"; echo "</tr>\n"; } 
 if(isset($_POST['form1'])) { try { $user=$_POST['username']; $pass=$_POST['password']; $email=$_POST['email']; $roll=$_POST['roll']; $class=$_POST['class']; if(empty($user)) throw new Exception("Name can not empty"); if(empty($pass)) throw new Exception("Password can not empty"); if(empty($email)) throw new Exception("Email can not empty"); if(empty($roll)) throw new Exception("Roll can not empty"); if(empty($class)) throw new Exception("Class can not empty"); $statement=$db->prepare("show table status like 'tbl_std_info'"); $statement->execute(); $result=$statement->fetchAll(); foreach($result as $row) $new_id=$row[10]; $up_file=$_FILES["image"]["name"]; $file_basename=substr($up_file, 0 , strripos($up_file, ".")); $file_ext=substr($up_file, strripos($up_file, ".")); $f1="$new_id".$file_ext; if(($file_ext!=".png")&&($file_ext!=".jpg")&&($file_ext!=".jpeg")&&($file_ext!=".gif")) { throw new Exception("Only jpg, png, jpeg or gif Logo are allow to upload / Empty Logo Field"); } move_uploaded_file($_FILES["image"]["tmp_name"],"../std_photo/".$f1); $statement=$db->prepare("insert into tbl_std_info (username,image,password,email,roll,class) value (?,?,?,?,?,?)"); $statement->execute(array($user,$f1,$pass,$email,$roll,$class)); $success="Registration Successfully Completed"; echo $success; } catch(Exception $e) { $msg=$e->getMessage(); } } по if(isset($_POST['form1'])) { try { $user=$_POST['username']; $pass=$_POST['password']; $email=$_POST['email']; $roll=$_POST['roll']; $class=$_POST['class']; if(empty($user)) throw new Exception("Name can not empty"); if(empty($pass)) throw new Exception("Password can not empty"); if(empty($email)) throw new Exception("Email can not empty"); if(empty($roll)) throw new Exception("Roll can not empty"); if(empty($class)) throw new Exception("Class can not empty"); $statement=$db->prepare("show table status like 'tbl_std_info'"); $statement->execute(); $result=$statement->fetchAll(); foreach($result as $row) $new_id=$row[10]; $up_file=$_FILES["image"]["name"]; $file_basename=substr($up_file, 0 , strripos($up_file, ".")); $file_ext=substr($up_file, strripos($up_file, ".")); $f1="$new_id".$file_ext; if(($file_ext!=".png")&&($file_ext!=".jpg")&&($file_ext!=".jpeg")&&($file_ext!=".gif")) { throw new Exception("Only jpg, png, jpeg or gif Logo are allow to upload / Empty Logo Field"); } move_uploaded_file($_FILES["image"]["tmp_name"],"../std_photo/".$f1); $statement=$db->prepare("insert into tbl_std_info (username,image,password,email,roll,class) value (?,?,?,?,?,?)"); $statement->execute(array($user,$f1,$pass,$email,$roll,$class)); $success="Registration Successfully Completed"; echo $success; } catch(Exception $e) { $msg=$e->getMessage(); } } 
 <!-- //THIS PROGRAM WILL UPLOAD IMAGE AND WILL RETRIVE FROM DATABASE. UNSING BLOB (IF YOU HAVE ANY QUERY CONTACT:rahulpatel541@gmail.com) CREATE TABLE `images` ( `id` int(100) NOT NULL AUTO_INCREMENT, `name` varchar(100) NOT NULL, `image` longblob NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB ; --> <!-- this form is user to store images--> <form action="index.php" method="post" enctype="multipart/form-data"> Enter the Image Name:<input type="text" name="image_name" id="" /><br /> <input name="image" id="image" accept="image/JPEG" type="file"><br /><br /> <input type="submit" value="submit" name="submit" /> </form> <br /><br /> <!-- this form is user to display all the images--> <form action="index.php" method="post" enctype="multipart/form-data"> Retrive all the images: <input type="submit" value="submit" name="retrive" /> </form> <?php //THIS IS INDEX.PHP PAGE //connect to database.db name is images mysql_connect("", "", "") OR DIE (mysql_error()); mysql_select_db ("") OR DIE ("Unable to select db".mysql_error()); //to retrive send the page to another page if(isset($_POST['retrive'])) { header("location:search.php"); } //to upload if(isset($_POST['submit'])) { if(isset($_FILES['image'])) { $name=$_POST['image_name']; $email=$_POST['mail']; $fp=addslashes(file_get_contents($_FILES['image']['tmp_name'])); //will store the image to fp } // our sql query $sql = "INSERT INTO images VALUES('null', '{$name}','{$fp}');"; mysql_query($sql) or die("Error in Query insert: " . mysql_error()); } ?> <?php //SEARCH.PHP PAGE //connect to database.db name = images mysql_connect("localhost", "root", "") OR DIE (mysql_error()); mysql_select_db ("image") OR DIE ("Unable to select db".mysql_error()); //display all the image present in the database $msg=""; $sql="select * from images"; if(mysql_query($sql)) { $res=mysql_query($sql); while($row=mysql_fetch_array($res)) { $id=$row['id']; $name=$row['name']; $image=$row['image']; $msg.= '<a href="search.php?id='.$id.'"><img src="data:image/jpeg;base64,'.base64_encode($row['image']). ' " /> </a>'; } } else $msg.="Query failed"; ?> <div> <?php echo $msg; ?> в <!-- //THIS PROGRAM WILL UPLOAD IMAGE AND WILL RETRIVE FROM DATABASE. UNSING BLOB (IF YOU HAVE ANY QUERY CONTACT:rahulpatel541@gmail.com) CREATE TABLE `images` ( `id` int(100) NOT NULL AUTO_INCREMENT, `name` varchar(100) NOT NULL, `image` longblob NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB ; --> <!-- this form is user to store images--> <form action="index.php" method="post" enctype="multipart/form-data"> Enter the Image Name:<input type="text" name="image_name" id="" /><br /> <input name="image" id="image" accept="image/JPEG" type="file"><br /><br /> <input type="submit" value="submit" name="submit" /> </form> <br /><br /> <!-- this form is user to display all the images--> <form action="index.php" method="post" enctype="multipart/form-data"> Retrive all the images: <input type="submit" value="submit" name="retrive" /> </form> <?php //THIS IS INDEX.PHP PAGE //connect to database.db name is images mysql_connect("", "", "") OR DIE (mysql_error()); mysql_select_db ("") OR DIE ("Unable to select db".mysql_error()); //to retrive send the page to another page if(isset($_POST['retrive'])) { header("location:search.php"); } //to upload if(isset($_POST['submit'])) { if(isset($_FILES['image'])) { $name=$_POST['image_name']; $email=$_POST['mail']; $fp=addslashes(file_get_contents($_FILES['image']['tmp_name'])); //will store the image to fp } // our sql query $sql = "INSERT INTO images VALUES('null', '{$name}','{$fp}');"; mysql_query($sql) or die("Error in Query insert: " . mysql_error()); } ?> <?php //SEARCH.PHP PAGE //connect to database.db name = images mysql_connect("localhost", "root", "") OR DIE (mysql_error()); mysql_select_db ("image") OR DIE ("Unable to select db".mysql_error()); //display all the image present in the database $msg=""; $sql="select * from images"; if(mysql_query($sql)) { $res=mysql_query($sql); while($row=mysql_fetch_array($res)) { $id=$row['id']; $name=$row['name']; $image=$row['image']; $msg.= '<a href="search.php?id='.$id.'"><img src="data:image/jpeg;base64,'.base64_encode($row['image']). ' " /> </a>'; } } else $msg.="Query failed"; ?> <div> <?php echo $msg; ?>