0
我有一个问题^^
我的PHP函数并不想保存到我的MySQL表,
但将其保存到我的选择的文件夹。 (连接工程(测试),插入东西到另一个表 从这个位置也可以。)
我认为这是与外键,因为当我 执行为例此命令的MySQL/PHP(外键错误?)
INSERT INTO TBilder (BildPfad, BildFreigabe, UserId)VALUES ('asd', 0, 10005);
它的工作原理是
。它按预期做了一切。
<div class="image_upload_div">
<form action= "#" class="dropzone"></form>
</div>
<?php
if (!empty($_FILES)) {
if (!is_dir($dir . "users") && !is_writable($dir. "users")) {
mkdir($dir . "users");
}
$temp = $_FILES['file']['tmp_name'];
$users = $dir . "users" . $ds;
$destination = $users . $_SESSION['userid'] . $ds;
$target = $destination . $_FILES['file']['name'];
if (!is_dir($destination) && !is_writable($destination)) {
mkdir($destination);
}
move_uploaded_file($temp, $target);
$stmt = $pdo->prepare("INSERT INTO TBilder (BildPfad, BildFreigabe, UserId) VALUES (:pfad, :freigabe, :user)");
$stmt->bindparam(":pfad", $target);
$stmt->bindparam(":freigabe", 0);
$stmt->bindparam(":user", $id);
$stmt->execute();
}
而且我的整个数据库:
DROP DATABASE SonderDB;
CREATE DATABASE SonderDB;
use SonderDb;
DROP TABLE IF EXISTS TUsers;
CREATE TABLE IF NOT EXISTS TUsers (
UserId INT AUTO_INCREMENT,
UserName VARCHAR(255) NOT NULL,
UserPassword VARCHAR(255) NOT NULL,
PRIMARY KEY (UserId))
AUTO_INCREMENT = 10000,
ENGINE = InnoDB;
DROP TABLE IF EXISTS TBilder ;
CREATE TABLE IF NOT EXISTS TBilder (
BildId INT AUTO_INCREMENT,
BildPfad VARCHAR(255) NOT NULL,
BildFreigabe INT,
UserId INT,
PRIMARY KEY (BildId),
FOREIGN KEY (UserId) REFERENCES TUsers(UserId) ON UPDATE CASCADE)
AUTO_INCREMENT = 10000
ENGINE = InnoDB;