簡體   English   中英

嘗試通過 php 將照片上傳到 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`)
  1. 我不知道輸入問題時是否有錯誤,但我可以看到在您的else中您沒有回顯錯誤。 在錯誤之前放置echo
if () {
    //
} else {
    echo "Error: ".$sql. "<br>". $conn->error;
}
  1. 根據您的表定義, user_id NOT NULL意味着user_id字段不能是 null。 除非您設置默認值(例如時間戳),否則必須在每個請求上設置它!

  2. 考慮有關 SQL 注射和其他方面的 Dharman 建議。

對數據庫中的圖像使用longtext ,而不是varchar(255)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM