这个问题在这里已经有答案了:
二进制文件内容显示在php print\r中,但未保存在mysql中(1个答案)
在数据库中存储图像-是还是不是(56个答案)
两年前关门了。
最近我尝试通过预先准备好的语句将图像插入数据库。遗憾的是,在教程中没有关于如何包含字符串以外的其他信息的信息。我想让我准备好的语句把图片传递到数据库这里是我的代码,不工作。
$connect = mysqli_connect($hostname, $username, $password, $databaseName);
$fname = mysqli_real_escape_string($connect, $_POST['yname']);
$lname = mysqli_real_escape_string($connect, $_POST['email']);
$filename = $_FILES['uploadfile']['name'];
$filetmpname = $_FILES['uploadfile']['tmp_name'];
$folder = 'imagesuploadedf/';
// edited and added below code. it will check if folder exists and create if not exists.....
$foldername = 'imagesuploadedf';
if ( ! is_dir($foldername)) {
mkdir($foldername);
}
// end of edited and added code
move_uploaded_file($filetmpname, $folder.$filename);
// $sql = "INSERT INTO `uploadedimage` (`imagename`) VALUES ('$filename')";
// connect to mysql database using mysqli
$sql = "INSERT INTO `tabela`(`name`, `email`, `imagename`) VALUES (?, ?, ?)";
$stmt = mysqli_stmt_init($connect);
if(!mysqli_stmt_prepare($stmt, $sql)){
echo "Error";
} else{
mysqli_stmt_bind_param($stmt, "sss", $fname, $lname, $filename);
mysqli_stmt_execute($stmt);
}
mysqli_close($connect);
}
1条答案
按热度按时间q3aa05251#
为了将图像保存到数据库中,您必须将它们转换为dataurl格式,这将使您的数据库变大。还有一种方法,您可以在上面尝试将数据保存到本地或服务器,然后将其名称保存到数据并从那里调用它
上面是将图像保存到本地或服务器的代码。现在,将图像名称包含到数据库查询中。我希望这有帮助。