Php Can';t在数据库中存储图像
每次我上传一张图片,它都会说上传成功。当我检查我公司的临时文件夹时,是的,它是存储的,但当涉及到数据库时,它不会存储我上传的任何图像Php Can';t在数据库中存储图像,php,image,mysqli,upload,Php,Image,Mysqli,Upload,每次我上传一张图片,它都会说上传成功。当我检查我公司的临时文件夹时,是的,它是存储的,但当涉及到数据库时,它不会存储我上传的任何图像 <?php if($_POST) { $con = mysqli_connect("localhost", "root", "", "pamphotos") or die('error in connection'.mysqli_connect_error()); $caption = $_POST['caption']; $im
<?php
if($_POST)
{
$con = mysqli_connect("localhost", "root", "", "pamphotos") or die('error in connection'.mysqli_connect_error());
$caption = $_POST['caption'];
$image_cont = 'c://uploads//';
$image_cont2= 'c://uploads//thmb//';
$filename = $_FILES["file"]["name"];
$src = $image_cont . $filename;
$thumb = $image_cont2. $filename;
if ($_FILES["file"]["error"] > 0)
{
echo "Return Code: " . $_FILES["file"]["error"] . "<br>";
}
else
{
echo "Upload: " . $_FILES["file"]["name"] . "<br>";
echo "Type: " . $_FILES["file"]["type"] . "<br>";
echo "Size: " . ($_FILES["file"]["size"] / 1024) . " kB<br>";
echo "Temp file: " . $_FILES["file"]["tmp_name"] . "<br>";
if (file_exists("upload/" . $_FILES["file"]["name"]))
{
echo $_FILES["file"]["name"] . " already exists. ";
}
else
{
move_uploaded_file($_FILES["file"]["tmp_name"],"c://uploads//" . $_FILES["file"]["name"]);
$q = "INSERT into photos(p_desc, p_src, p_thumbsrc) VALUES('$caption', '$src','$thumb')";
$stmt = mysqli_prepare($con, $q) or die('error in connection'.mysqli_connect_error());
if($stmt)
{
echo "File succesfully Uploaded.";
}
}
}
}
您正在为INSERT语句使用,但您没有使用它。因此,该行不会插入到数据库中
下面是我将如何编写运行查询的部分:
$stmt = $con->prepare($q);
if ($stmt === false)
{
trigger_error($con->error, E_USER_ERROR);
}
if ($stmt->execute() === false) {
trigger_error($stmt->error, E_USER_ERROR);
}
echo "File succesfully Uploaded.";
PS:这与您的问题有点相切,但您应该使用查询参数,而不是在查询中插入变量。您面临SQL注入的风险。当我创建第一个社交网络时,我只是将文件存储在一个目录中,然后将路径存储在mySQL数据库中。我认为你也这样做会有好处。此外,每当上传新的文件时,它可以更轻松地处理断开文件链接的问题。谢谢回复。我也想过,但我真的不知道怎么做。你有什么建议,我应该从哪里开始实现这一点?哦,是的!我忘了。非常感谢你,先生!请原谅我的健忘。谢谢你的推荐,先生。我现在将在我的代码中实现这一点。信息非常有用。@RedSparkle如果使用mysqli_report()使mysqli自动引发错误,您可以摆脱这些无聊的条件。