我仍然是一個PHP的初學者,我在這個特定的問題上有一個問題,我檢查了一些舊帖子,但沒有找到我需要。php:上傳文件,同時在數據庫中記錄路徑
所以這段代碼應該連接到數據庫,從窗體上傳一個文件,創建一個較小的文件副本(一張圖片),然後在窗體和數據庫中記錄一些信息新創建的圖片。 一切工作正常,直到記錄,變量可以通過print_r的待觀察,但不會記錄......
代碼:
if(isset($_POST['submit_newprojet'])){
$bdd = Connection::getInstance('localhost', 'website', 'utf8', 'root', '');
$man = new Admin_manager($bdd);
$titre = $_POST['nom_projet'];
$date_proj = $_POST['date_projet'];
$text = "<pre>".htmlentities($_POST['presentation'])."</pre>";
$name = $_FILES['photo']['name'];
//create destination folder
$titre_dossier = str_replace(" ","_",$titre);
$dir_proj = "../projets/".$titre_dossier;
if(!is_dir($dir_proj))
@mkdir("$dir_proj", 0777, true);
$dir_proj_orig = "../projets/$titre_dossier/original/";
if(!is_dir($dir_proj_orig))
@mkdir("$dir_proj_orig", 0777, true);
//uploading picture
$nom_orig = $dir_proj_orig.$name;
$envoi = move_uploaded_file($_FILES['photo']['tmp_name'], $nom_orig);
if($envoi){
//creating a gd library based smaller copy of picture
$photo = $man->createBlock($nom_orig, $titre);
//this one works as well, I let it there in case its presence in itself would be my problem, the new picture goes in $dir_proj
//recording database
$photo_dir = substr($dir_proj,3)."/";
$req= $bdd->exec("INSERT INTO projet VALUES ('', '$titre', '$date_proj', '$text', '$photo_dir')");}}
這裏是關注表,如果需要(我使用VARCHAR的日期,因爲我只保留一年):
CREATE TABLE IF NOT EXISTS `projet` (`id_projet` int(11) NOT NULL AUTO_INCREMENT,`nom_projet` varchar(255) COLLATE utf8_bin NOT NULL,`date_projet` varchar(20) COLLATE utf8_bin NOT NULL,`presentation` text COLLATE utf8_bin NOT NULL,`photo_presentation` varchar(255) COLLATE utf8_bin NOT NULL,PRIMARY KEY (`id_projet`)) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin AUTO_INCREMENT=1 ;
感謝那些誰就會花時間幫我
你有什麼錯誤嗎?你可以在這裏複製嗎?你是否試圖打印插入語句並在phpmyadmin上執行它? – ClaudioM
在插入中用''替換爲''以獲得auto_increment值。此外,如果在執行任何sql語句以確認它們是否被正確執行並且看到實際的錯誤消息(如果它們不是這樣)後執行了sql異常處理,它也不會受到影響。 – Shadow
以及謝謝,我沒有錯誤陳述,並使用單身我沒有設法把一個setAttribute(PDO :: ATTR_ERRMODE,PDO :: ERRMODE_EXCEPTION);在PDO對象上,它似乎是由於我的$文本,幾個字符不被接受,我使用$ text =「
」;有沒有更好的方法來接受任何類型的角色? – kyoun