我正在尝试使用 while 循环将从 MySQL 检索到的 Blob 图像插入到数组中。
数据库语句选择了所有图像,然后我需要将它们全部传递到一个数组中。
所以理论上,我应该有一个 base64 编码图像数组,对应于我数据库中的每条记录。
我们将不胜感激。
$sql = "SELECT img from artistlocation";
try{
$db = new db();
$db = $db->connect();
$stmt = $db->query($sql);
$data = array();
while($result = $stmt->fetch(PDO::FETCH_OBJ))
{
//$result = base64_encode(); ---- Something here im guessing
$data[] = $result;
}
print_r ($data);
}
catch(PDOException $e){
echo '{"error": {"text": '.$e->getMessage().'}';
}
最佳答案
我发现你的代码有很大问题..
您使用相同的变量 $result
来获取 mysql 行结果和图像内容。
其次,您错过了对文件内容进行 base64 编码。
这是我的解决方案:
$sql = "SELECT img from artistlocation";
try{
$db = new db();
$db = $db->connect();
$stmt = $db->query($sql);
$data = array();
while($result = $stmt->fetch(PDO::FETCH_OBJ))
{
$data[] = base64_encode($result['img']);
}
print_r ($data);
}
catch(PDOException $e){
echo '{"error": {"text": '.$e->getMessage().'}';
}
希望对你有帮助。
关于php - 将 Base64 图像插入数组 PHP PDO,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49863838/