2013-04-18 82 views
1

當我提交表單時,我可以將文章的信息傳遞到我的數據庫中,但是我的圖像的信息不會發送。將圖像信息存入數據庫時​​遇到問題

我正在使用一個事務,所以我可以從1個表格中插入信息到2個表格中。

這是將信息傳遞給數據庫的事務:

$conn->query("START TRANSACTION"); 
$stmt = $conn->prepare('INSERT INTO articles(article_title, article_text, article_date) VALUES (?, ?, NOW())'); 
$stmt->bind_param('ss', $_POST['article_name'], $_POST['description']); 
$stmt->execute(); 
$stmt = $conn->prepare('INSERT INTO images (article_id, image_caption, image_filename) VALUES(LAST_INSERT_ID(),?,?)'); 
$stmt->bind_param('ss', $_POST['image_caption'], $_FILES['upload']['name']); 
$stmt->execute(); 
$stmt->close(); 
$conn->query("COMMIT"); 

這裏是我的形式:

<form id="inputArticle" name="inputArticle" method="post" action="" enctype="multipart/form-data" > 
<p> <label for="article_name">Article Title:</label> <input name="article_name" placeholder="Name of the article" id="article_name" type="text" size="50" maxlength="50" /> </p> 
<p> <label for="description">Article Content:</label> <textarea name="description" placeholder="Content of the article"id="description" cols="50" rows="10"></textarea> </p> 
<p> <label for="image_filename">Choose File to Upload</label><br /> <input type="file" name="image_filename" id="image_filename" /> </p> 
<p> <label for="image_caption">Image Caption:</label> <textarea name="image_caption" id="image_caption" cols="50" rows="5"></textarea> </p> 
<p> <input type="submit" name="insert" value="Insert New Article" /> </p> 
</form> 

側面說明: 當我從刪除的圖片上傳代碼SQL和窗體,一切似乎工作。 ID和描述被髮送到數據庫,所以我認爲問題是與圖像上傳部分。

+2

Issent $ _FILES應該[ '上傳'] [ '名']爲$ _FILES [ 'IMAGE_FILENAME'] [ '名稱''] –

+0

完蛋了!我現在覺得很愚蠢。感謝喬納斯 –

+0

沒問題:)回答你自己的問題,並採取「解決」的標誌,請:-) –

回答

1

忘記更改輸入名稱。

Issent $_FILES['upload']['name'] supposed to be $_FILES['image_filename']['name''] 
相關問題