Home >Backend Development >PHP Tutorial >How can I upload an image and store its file name in a MySQL database along with other form data using PHP?

How can I upload an image and store its file name in a MySQL database along with other form data using PHP?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-10-26 11:21:29239browse

How can I upload an image and store its file name in a MySQL database along with other form data using PHP?

How to Store a File Name in a Database with Other Information While Uploading an Image Using PHP

Problem:

You're facing challenges in uploading a file to a server and storing its file name in a MySQL database. Additionally, you need to create a form that enables you to submit additional data to the database. This task seems overwhelming, and you seek a comprehensive solution to integrate these elements.

Answer:

Here's a detailed solution that encompasses both the form's structure and the PHP code required to process the file upload and data input:

Form Structure:

<code class="html"><form method="post" action="addMember.php" enctype="multipart/form-data">
  <!-- Fields for entering band member info -->
  <!-- File input field for uploading photo -->
  <input type="hidden" name="size" value="350000">
  <input type="file" name="photo">
  <!-- Other form fields for additional information -->
  <!-- Submit button -->
</form></code>

PHP Code:

<code class="php"><?php
// Database connection
$db = mysqli_connect("yourhost", "username", "password", "dbName");

// Handle file upload
$target = "your directory" . basename($_FILES['photo']['name']);
$pic = basename($_FILES['photo']['name']);
if (move_uploaded_file($_FILES['photo']['tmp_name'], $target)) {
  // File uploaded successfully

  // Extract form data
  $name = $_POST['nameMember'];
  $bandMember = $_POST['bandMember'];
  $about = $_POST['aboutMember'];
  $bands = $_POST['otherBands'];

  // Prepare SQL query
  $sql = "INSERT INTO tableName (nameMember, bandMember, photo, aboutMember, otherBands)
          VALUES ('$name', '$bandMember', '$pic', '$about', '$bands')";

  // Execute query to insert data and image name into database
  mysqli_query($db, $sql);
  echo "File uploaded and information added to database.";
} else {
  // File upload failed
  echo "Error uploading file.";
}
?></code>

Explanation:

  • The PHP code connects to the database.
  • It handles the file upload by specifying the target directory and moving the file to that location.
  • The code captures all necessary information from the form fields.
  • It prepares an SQL query to insert the data into the database, including the file name.
  • The query is executed, adding the file name and all other information to the database.
  • You can customize the form fields and database table according to your specific requirements.

This comprehensive solution provides a step-by-step guide to upload a file, store its file name in the database, and insert additional information from the form.

The above is the detailed content of How can I upload an image and store its file name in a MySQL database along with other form data using PHP?. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn