簡體   English   中英

將Base64圖像插入數組PHP PDO

[英]Insert Base64 Images to Array PHP PDO

我正在嘗試使用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().'}';
} 

希望對您有幫助。

因此,該問題的答案來自AbraCadaver。

 $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);
        }

謝謝大家的幫助!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM