gpt4 book ai didi

php - 尝试将图像上传到数据库,然后从数据库中显示。遇到 fatal error

转载 作者:太空宇宙 更新时间:2023-11-03 11:48:13 26 4
gpt4 key购买 nike

错误:

Fatal error: Uncaught Error: Call to a member function bind_param() on boolean in C:\xampp\htdocs\FinalProject\upload-profilePic.php:22 Stack trace: #0 {main} thrown in C:...

我的代码:

上传图片

<?php
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
if (file_exists($_FILES['upload_file']['tmp_name'])) {
// get temp name and file name
$tmpName = $_FILES['upload_file']['tmp_name'];
$fileName = $_FILES['upload_file']['name'];
$type = $_FILES['upload_file']['type'];

$handler = fopen($tmpName, 'r'); // opens image file stream
$data = fread($handler, filesize($tmpName)); // read byte data
fclose($handler); // close image file stream

$stmt = $con->prepare('insert into images (image_type,
filename, image_data) values(?, ?, ?)');
$stmt->bind_param('sss', $type, $fileName, $data);
$stmt->execute();
$result = $stmt->get_result();
if (!$result) {
echo $con->error;
}
}
}

$result = $con->query('select * from images');
if ($result) {
foreach ($result as $img) {
$name = $img['filename'];
$id = $img['image_id'];
$url = "get-profilePic.php?id=$id";
echo "<h3>$name</h3>";
echo "<img src=\"$url\" alt=\"$name\" />\n\n";
}
}
?>

获取图像

<?php

$imageId = $_GET['id'];
$result = $con->query("select * from images
where image_id = $imageId");

if ($result) {
$image = $result->fetch_object();
$type = $image->image_type;
$data = $image->image_data;
header('Content-Type: ' . $type);
echo $data;
}
?>

最佳答案

结合你的场景,问题出在:

$stmt = $con->prepare('insert into images (image_type, filename, image_data) values(?, ?, ?)');
$stmt->bind_param('sss', $type, $fileName, $data);

prepare()方法可以返回 false 并且需要检查它为什么返回 false,也许表名或列名(在 SELECT 或 WHERE 子句中)不正确?主要是您查询中的一些错误。

另外,尝试使用类似 $stmt ->error_list 的东西检查解析 SQL 时发生的错误。

关于php - 尝试将图像上传到数据库,然后从数据库中显示。遇到 fatal error ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37203525/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com