Krish
Krish

Reputation: 19

php file upload data is not going into mysql

<?php
include 'db.php';
//This is the directory where images will be saved
$target = "images/";
$target = $target . basename( $_FILES['photo']['name']);
//This gets all the other information from the form
  $stnam = $_POST['stName'];
  $stage = $_POST['stAge'];
  $stdob = $_POST['stDob'];
  $pic=($_FILES['photo']['name']);

mysqli_query("INSERT INTO test (name, age, dob, photo) VALUES ('$stnam', '$stage', '$stdob', 'pic')");

if(move_uploaded_file($_FILES['photo']['tmp_name'], $target))
{

echo "The file ". basename( $_FILES['photo']['name']). " has been uploaded, and your information has been added to the directory";
}
else {

echo "Sorry, there was a problem uploading your file.";
}

?>

I have been trying to upload an image file into sql database using phpmyadmin I used this above code when I executed it the file goes into directory well but the data values are not being inserted into mysql. Can anyone help?

Upvotes: 0

Views: 54

Answers (1)

Nana Partykar
Nana Partykar

Reputation: 10548

Changes

1) Put $ before pic in insert query.

2) And, keep insert query inside if(). Because, row will get inserted even though file is not moved to desired folder.

3) No connection variable is used in mysqli_query. It requires 2 arguments. [I assumed $conn as connection variable. Replace it according to your connection variable.] For more info, click mysqli_query

Updated Code

if(move_uploaded_file($_FILES['photo']['tmp_name'], $target)){
  mysqli_query($conn, "INSERT INTO test (name, age, dob, photo) VALUES ('$stnam', '$stage', '$stdob', '$pic')");
  echo "The file ". basename( $_FILES['photo']['name']). " has been uploaded, and your information has been added to the directory";
} else {
  echo "Sorry, there was a problem uploading your file.";
}

Upvotes: 1

Related Questions