表单中的文件信息未传递给php
表格:表单中的文件信息未传递给php,php,html,Php,Html,表格: 代码一直执行到最后,但是文件没有上传到数据库,我以前让php工作过,但是我改变了输入按钮的工作方式,现在它不工作了。我将非常感谢您的帮助,因为我仍然是一名新的开发人员。看来您正在尝试将NULL插入ID列,我假设它是您的主键 您不能将NULL插入主键,而应该跳过将任何内容放入ID列的操作。您似乎正在尝试将NULL插入ID列,我假设它是您的主键 您不能在主键中插入NULL,相反,您应该跳过将任何内容放入ID列的尝试。按照Lucha Laura的回答,如果文件上载和移动成功,我会怀疑您插入
代码一直执行到最后,但是文件没有上传到数据库,我以前让php工作过,但是我改变了输入按钮的工作方式,现在它不工作了。我将非常感谢您的帮助,因为我仍然是一名新的开发人员。看来您正在尝试将NULL插入ID列,我假设它是您的主键
您不能将NULL插入主键,而应该跳过将任何内容放入ID列的操作。您似乎正在尝试将NULL插入ID列,我假设它是您的主键
您不能在主键中插入NULL,相反,您应该跳过将任何内容放入ID列的尝试。按照Lucha Laura的回答,如果文件上载和移动成功,我会怀疑您插入的值违反了数据库字段的约束 在MySQL中,在主键中插入NULL是有效的,但是其他字段可能没有正确配置。检查字段的字段类型、长度和not_null要求,确保它们接受您发送的值。预览实际值的一种简单方法是使用
error\u log()
将信息发送到错误日志
稍微无关-
trim()
无法完成您试图完成的任务。按照Lucha Laura的回答查看strstr()
或preg_replace()
——如果文件上载和移动成功,我会怀疑您插入的值违反了数据库字段的约束
在MySQL中,在主键中插入NULL是有效的,但是其他字段可能没有正确配置。检查字段的字段类型、长度和not_null要求,确保它们接受您发送的值。预览实际值的一种简单方法是使用error\u log()
将信息发送到错误日志
稍微无关-
trim()
无法完成您试图完成的任务。查看strstr()
或preg_replace()
您希望实际文件进入数据库还是仅文件名?您希望实际文件进入数据库还是仅文件名?
<form enctype="multipart/form-data" action="FileUpload.php" method="post">
<label for="file" class="myLabel">Select File</label>
<input type="file" id="file" name="fileUpload">
<input type="submit" class="submit" value="Upload File">
</form>
if(isset($_FILES['fileUpload'])){
$uploadName = $_FILES['fileUpload']['name'];
$uploadTmp = $_FILES['fileUpload']['tmp_name'];
$fileSize = $_FILES['fileUpload']['size'];
$fileType = pathinfo($uploadName, PATHINFO_EXTENSION);
$uploadName = trim($uploadName, "." . $fileType);
$uploadName = preg_replace("#[^a-z0-9.]#i","",$uploadName);//removes all spaces in their name
$uploadName = mt_rand(100000,999999) . "____" . $uploadName;//generates random number in front of name so multiple files of the smae name can be uploaded
if(($fileSize > 100024352638512 )){//check file is less than 10gb
die("Error - File to big");
}
if(!$uploadTmp){//checks to see if file is selected
die("No File Selected, Please Upload Again");
}else{
move_uploaded_file($uploadTmp,"uploads/$uploadName");//puts file into uploads directory
}
$sql = $con->query("INSERT INTO uploads (ID, Time ,Name, Type, Owner) VALUE
(NULL,CURRENT_TIMESTAMP(),'{$uploadName}','{$fileType}','{$_SESSION['UserID']}')")or die(mysqli_error($con));//inserts file into database
header("Location:Profile.php");//sends you to profile page
}