【发布时间】:2017-12-05 13:33:07
【问题描述】:
我正在尝试将视频上传到正在工作的文件夹中,但是数据库中的相关条目并未与之匹配。真的很难看出哪里出了问题,因为没有报告错误。
session_start();
require 'db.php';
$name = $_FILES['video']['name'];
$uploader = $_SESSION['first_name'].$_SESSION['last_name'];
$newstring = $_SESSION['last_name'].'_'.$_SESSION['first_name'].'_'.date('ymdhms').".mp4";
$extension = strtolower(substr($name, strpos($name, '.') + 1));
$size = $_FILES['video']['size'];
$max_size = '1073741824';
$type = $_FILES['video']['type'];
$id = $_SESSION['id'];
$date = date('Y-m-D');
$tmp_name = $_FILES['video']['tmp_name'];
if(!empty($name)){
$location = "uploads/";
if($extension=='mp4'&&$type == 'video/mp4'){
if($size <= $max_size){
if(move_uploaded_file($tmp_name, $location.$newstring)){
$sql = "INSERT INTO videos (file_name, upload_by, date) VALUES
('$newstring', '$id', '$date')";
mysqli_query($mysqli, $sql);
require('profile.php');
$_SESSION['message'] = "Upload Successful!";
header('Refresh:0; url=profile.php');
}else{
$_SESSION['message'] = "File failed to upload";
header("location: error.php");
}
我没有得到相应的数据库条目。任何帮助将非常感激。
【问题讨论】:
-
if($extension=='mp4' && $type == 'video/mp4'){在and条件中放置空间 -
我假设
$mysqli数据库连接变量在db.php文件中,您能否将其包含在您的问题中。 -
我收到上传成功消息,它出现在正确命名的文件夹中。只是数据库条目不起作用
-
您的查询可能失败。尝试使用
Y-m-d而不是大写字母 D,即 3 个字符日(周一、周二、周三)。此外,检查查询本身是否存在 mysqli 错误。 -
您对 SQL 注入持开放态度。由于您使用的是 mysqli,因此请利用 prepared statements 和 bind_param。 这将解决可能出现的任何令人讨厌的引用问题。
标签: php sql phpmyadmin