这是我的代码,它包含与数据库的连接:

session_start();

require 'config2.php';
require_once 'user.class.php';

$target = "uploads/";
$target1 = "uploads/";
$target = $target . basename( $_FILES['photo']['tmp_name']);
$target1 = $target1 . basename( $_FILES['photo1']['tmp_name']);

//This gets all the other information from the form
$login = $_SESSION['login'];
$name=$_POST['name'];
$name1 =$_POST['name1'];
$pic=($_FILES['photo']['name']);
$pic1=($_FILES['photo1']['name1']);

$id=$_SESSION['id'];

// Connects to your Database
print_r($_POST);
print_r($_FILES);
print_r($_SESSION);
print_r($_GET);

//$op = mysql_query("select id from users where id = '$id' ");
//Writes the information to the database
mysql_query("INSERT INTO users (name, photo, name1, photo1) VALUES ('$name', '$photo', '$name1', '$photo1') where login = '$login'") ;

// mysql_query("UPDATE users SET name='$name', photo = '$pic', name1 = '$name1', photo1 = '$pic1' WHERE  login = '$login' ");
//Writes the photo to the server
if(move_uploaded_file($_FILES['photo']['tmp_name'] ,$target) )
{
  //Tells you if its all ok
  echo "The file ". basename( $_FILES['uploadedfile']['name'] ). " has been uploaded,        and your information has been added to the directory";
  echo "<a href = 'profile.php?id=$id'>back</a>";
}

if(move_uploaded_file($_FILES['photo1']['tmp_name'] ,$target1) )
{
  //Tells you if its all ok
  echo "The file ". basename( $_FILES['uploadedfile']['name1'] ). " has been uploaded, and your information has been added to the directory";
  echo "<a href = 'profile.php?id=$id'>back</a>";
}
else {
  //Gives and error if its not
  echo "Sorry, there was a problem uploading your file.";
}


此代码仅适用于一张图像(将一张图像名称上载到数据库字段-photo中),并且仅当我将insert更改为update时才适用。如何使其与多个图像和插入命令一起使用?

最佳答案

查看您的索引和变量名称。您使用$_FILES['uploadedfile']['name1']$_FILES['photo1']['tmp_name']。您确定这是正确的吗? POST数据位于$_POST数组中,文件信息位于$_FILES中。上传文件的名称在$_FILES['photo1']['name']中。您将永远不会设置$_FILES['uploadedfile']['name1']

另外,您具有什么表结构?您有两个名称字段和两个文件路径字段吗?

您的查询不正确。如果要更新表行,请使用UPDATE ... WHERE ...查询。如果要添加新的,请使用不带INSERTWHERE。您已评论正确的一个。

另外,请确实使用PDO和准备好的语句。您的代码允许SQL注入。

关于php - 将多张照片插入mysql数据库,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21484661/

10-11 03:17
查看更多