gpt4 book ai didi

php - 通过 PHP 将 JPEG 插入 mysql

转载 作者:行者123 更新时间:2023-11-30 23:53:23 25 4
gpt4 key购买 nike

我在通过 PHP 脚本将 .jpg 图像插入数据库时​​遇到了一些问题。数据库连接肯定工作正常,查询在 phpmyadmin 中工作,所以我认为问题出在 PHP 代码中。这是我的数据库表:

CREATE TABLE images(
imageid INT( 11 ) PRIMARY KEY AUTO_INCREMENT ,
noteid INT( 11 ) NOT NULL ,
image LONGBLOB NOT NULL ,
FOREIGN KEY ( noteid ) REFERENCES notes( noteid )
ON UPDATE CASCADE ON DELETE RESTRICT
);

还有测试脚本:

// connecting to db
$db = new DB_CONNECT();

$path = "uploads/1_image_003.jpg";
$noteid = 3;
if(file_exists($path)) {

$handle = fopen($path, "rb");

$image = fread($handle, filesize($path));

fclose($handle);

$img = base64_encode($image);

$sql ="INSERT INTO images(noteid, image) VALUES('$noteid', '$img')";

mysql_query($sql) or die('Bad Query');
if (!mysql_query($sql)) { // Error handling
echo "Something went wrong! :(";
}
} else {
echo "File not found\n";
}

该脚本返回“错误查询”。你有什么错误的建议吗?或者你能告诉我另一种将 .jpg 图像存储到 mysql 的方法吗?

最佳答案

试试file_get_contents()

$img =mysql_real_escape_string(file_get_contents($path));
$sql ="INSERT INTO images(noteid, image) VALUES('$noteid', '$img')";
mysql_query($sql) or die('Bad Query : '.mysql_error());

注意:

  1. 你应该避免使用mysql_*函数,你应该使用mysqli_*PDO相反。

  2. 不要将文件存储到数据库(除非非常需要)。您可以只将文件路径存储到数据库。对于more..

关于php - 通过 PHP 将 JPEG 插入 mysql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23539531/

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