php - 将多张照片插入mysql数据库

标签 php mysql

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

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),并且仅当我将插入更改为更新时才有效。如何使其适用于多个图像和插入命令?

最佳答案

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

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

您的查询不正确。如果要更新表行,请使用 UPDATE ... WHERE ... 查询。如果您想添加新的,请使用 INSERT,而不使用 WHERE。您评论了正确的一条。

此外,确实使用 PDO 和准备好的语句。您的代码允许 SQL 注入(inject)。

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

相关文章:

php - php for 循环出现错误 500

mysql - 引用多个唯一键的外键

php - 在 where 子句中仅选择年份和月份

php - 如果是商店,如何检查当前时间是开门时间和关门时间之间的时间

python - 用于 MySQL 的 Peewee ORM JSONField

php - 如何在两条记录后添加 HTML 元素 zii.widgets.CListView widget Yii

php - 401. 这是一个错误。错误 : invalid_client The OAuth client was not found

mysql - Django + MySQL - 管理站点 - 添加用户 - OperationalError - 保存点不存在

php - 如何从 2 个不同的数字范围中选择 1 个随机数?

php - DateTime:语法错误,意外 T_OBJECT_OPERATOR