VictoryCode VictoryCode - 6 months ago 35
SQL Question

insert data and multiple images in a table [PHP]

I try many days combine multiple images and simultaneously various data in which all saved in a table in mysql.

For example we have a form in HTML, PHP:

<form method="post" enctype="multipart/form-data">
<input type="text" name="firstname">
<input type="text" name="lastname">
<input type="text" name="phone">
<input type="file" name="images[]" multiple="multiple" accept="image/*" />
<input type="submit" name="submit" value="Upload!" />
</form>


How can become the association between PHP and SQL?

<?php
include "config.php";
$erors = array(); // set an empty array that will contains the errors

// Check for form submission
if (isset($_POST['firtname']) && isset($_POST['lastname'])) {
// chech if all form fields are filled in correctly
// (email address and the minimum number of characters in "name" and "pass")
if (strlen($_POST['firstname'])<3) $erors[] = 'Name must contain minimum 3 characters';
if (strlen($_POST['lastname'])<6) $erors[] = 'Password must contain minimum 6 characters';

// if no errors ($error array empty)
if(count($erors)<1) {

// store the values in an Array, escaping special characters for use in the SQL statement
$adds['firstname'] = $mysqli->real_escape_string($_POST['firtname']);
$adds['lastname'] = $mysqli->real_escape_string($_POST['lastname']);
$adds['phone'] = $mysqli->real_escape_string($_POST['phone']);

/*

CODE FOR UPLOAD MULTIPLE IMAGES

*/

// sql query for INSERT INTO users
$sql = "INSERT INTO `insert_data` (`firstname`, `lastname`, `phone`) VALUES ('". $adds['firtname']. "', '". $adds['lastname']. "', '". $adds['phone']. "')";

// Performs the $sql query on the server to insert the values
if ($mysqli->query($sql) === TRUE) {
echo 'users entry saved successfully';
}
else {
echo 'Error: '. $mysqli->error;
}

$mysqli->close();
}
else {
// else, if errors, it adds them in string format and print it
echo implode('<br>', $erors);
}
}
?>

CREATE TABLE IF NOT EXISTS `insert_data` (
`id` int(9) NOT NULL AUTO_INCREMENT,
`firstname` varchar(100) COLLATE utf8_unicode_ci NOT NULL,
`lastname` varchar(100) COLLATE utf8_unicode_ci NOT NULL,
`phone` varchar(100) COLLATE utf8_unicode_ci NOT NULL,
/*

HERE SAVED MULTIPLE IMAGES??

*/
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;


I should be grateful to your help!!

Thanks!

Answer

this is may be use full for you: Multiple file upload in php

 $total = count($_FILES['upload']['name']);

    // Loop through each file
    for($i=0; $i<$total; $i++) {
      //Get the temp file path
      $tmpFilePath = $_FILES['upload']['tmp_name'][$i];

      //Make sure we have a filepath
      if ($tmpFilePath != ""){
        //Setup our new file path
        $filename[] = $_FILES['upload']['name'][$i];
        $newFilePath = "./uploadFiles/" . $_FILES['upload']['name'][$i];

        //Upload the file into the temp dir
        if(move_uploaded_file($tmpFilePath, $newFilePath)) {

          //Handle other code here or insert query here

        }
      }
    }
$images = implode(",",$filename);

insert "$images" variable in your table.

Comments