![](/img/trans.png)
[英]Trying to get my current PHP programs to access the DB created by MyPhpAdmin
[英]Trying to upload a photo through php to myphpadmin but fails
所以我只是在學習 PHP 並且我有以下代碼,但它不會將我的照片發送到我的數據庫。 如果用於其他頁面並且數據被發送到數據庫,我的數據庫文件就像我使用的那樣工作。 我的代碼是基本的,因為這就是我目前知道如何編寫它的方式,但是我缺少一些東西。 操作頁面返回空白。 甚至沒有提到一個錯誤,並且照片沒有在數據庫表中顯示它們應該是 go。 任何建議都會受到重視。 再次只是學習,所以我知道我的代碼是基本的。
//Form
<form enctype="multipart/form-data" action="Upload.php" method="post">
<input type="file" name="photo" id="fileSelect">
<textarea align="center" name="Hashtag" cols="40" placeholder ="Describe your photo"></textarea>
<input value="Upload" class="special big" type="submit">
</form>
//Action file Upload.php
<?php
require "DB.PHP";
if (isset($_POST["submit"]))
{
$tag = $_POST["Hashtag"];
$photo = rand(1000,10000)."-".$_FILES["photo"]["name"]; //Create unique file name
$sql = "INSERT INTO photos (hashtag,Image) VALUES('$tag','$photo')";
if ($conn ->query ($sql)){
echo '<script type="text/javascript">';
echo 'alert("Your Photo was submitted.")';
echo '</script>';
echo "<script>setTimeout(\"location.href = 'Photo_Submit.php';\",0000);</script>";
}
else "Error: ".$sql. "<br>". $conn->error;
$conn->close();
}
?>
//table in database
`Image` varchar(255) NOT NULL,
`hashtag` varchar(255) NOT NULL,
`user_id` varchar(50) CHARACTER SET utf8 NOT NULL,
`Time Stamp` int(11) NOT NULL DEFAULT current_timestamp(),
PRIMARY KEY (`user_id`)
else
中您沒有回顯錯誤。 在錯誤之前放置echo
if () {
//
} else {
echo "Error: ".$sql. "<br>". $conn->error;
}
根據您的表定義, user_id
NOT NULL
意味着user_id
字段不能是 null。 除非您設置默認值(例如時間戳),否則必須在每個請求上設置它!
考慮有關 SQL 注射和其他方面的 Dharman 建議。
對數據庫中的圖像使用longtext
,而不是varchar(255)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.