0
我試圖上傳圖像到mysql數據庫,但是當我上傳圖像時,我收到確認消息,但是當我檢查我的數據庫圖像行是空的,我做錯了什麼?插入圖像到數據庫
<?php include "connection.php"; ?>
<?php
$n=$_POST["num"];
$t=$_POST["texto"];
$i=$_POST["imagem"];
$image = addslashes(file_get_contents($_FILE['$i']['tmp_name']));
if ($connect->connect_error){
\t die("Connection failed: " . $connect->connect_error);
}
$sql = "UPDATE servicos SET texto='$t', imagem='{$image}' where nmr=$n" ;
if ($connect->query($sql) === TRUE) {
\t echo "informação atualizada";
} else {
\t echo "Error: " . $sql . "<br>" . $connect->error;
}
$connect->close();
?>
<html>
<body>
<div class="formulario" style="width: 100%; height: 100%;">
<form enctype="multipart/form-data" name="form1" target="apresenta" method="post" action="menu2.php" style="position:absolute; top:70;left:10
border:thin; border-style:none;">
<label> Atualizar dados </label><br>
Numero: <input type="text" name="num" value=""><br>
Texto: <input type="text" name="texto" value=""><br>
Imagem: <input type="file" name="imagem" value=""><br>
<input type="submit" name="submit" value="enviar">
<input type="reset" value="limpar">
</form>
</div>
</body>
</html>
爲什麼使用addslashes(file_get_contents(?請參見:https://www.w3schools.com/php/php_file_upload.asp –
)爲什麼要增加數據庫大小?不好的做法是將文件存儲在在數據庫中,您應該藉助文件系統將它們存儲在服務器上,如果您仍然希望將這些文件保存在數據庫中,您首先需要將它們轉換爲base64格式或以我們可以保存在數據庫中的任何其他格式。 – itzmukeshy7
A處理這個問題的常用方法是將圖像存儲在文件系統中,然後在數據庫中存儲圖像的路徑 – fredrover