2016-02-22 117 views
0

正在使用php Function擺脫SQL 圖像URL,但我無法得到圖像的URL無法從函數獲取圖像URL

功能代碼來獲取圖像的URL

function getUsers() {//returns an array of users 
    global $db; 
    $list = array(); 
    $stmt = $db->prepare('SELECT username FROM user_info'); 
    $users = $stmt->fetch(PDO::FETCH_ASSOC); 
    if (is_array($users) || is_object($users)) { 
     foreach ($users as $user) { 
      array_push($list, $user[0]); 
     }return $list; 
    } 
} 

$users = getUsers(); 

function getImageURL($user) { 
    global $db; 
    $stmt = $db->prepare('SELECT propic FROM user_info WHERE username=:username'); 
    $stmt->execute(array(':username' => $user)); 
    $source = $stmt->fetch(PDO::FETCH_ASSOC); 
    return $source; 
} 

這裏是代碼顯示圖像

<?php 
       $user = $_GET['myUser']; 
       if (isset($_SESSION['username'])) { 
        $loggedIn = $_SESSION['username']; 
       } 

       $s = getImageURL($user); 
      foreach($s as $URL){ 
       echo "<img class=\"full\" src=\"$URL[0] \" alt=\"$user's profile picture ERROR PART\"/>"; 
      } 
       ?> 

我的數據庫連接和用戶名,一切工作正常 enter image description here

+0

什麼是輸出$ URL [0]? –

+0

它應該是'$ URL ['propic']' – CodeGodie

+0

其正確的s值=「s」我已附加圖片 –

回答

1

你忘了兩件事情:

  • fetchAll()獲得您的陣列結果集

    改變這一點:

    $source = $stmt->fetch(PDO::FETCH_ASSOC); 
    

    這樣:

    $source = $stmt->fetchAll(PDO::FETCH_ASSOC); 
    

  • 抓住每次迭代的數組元素

    變化的正確方法是這樣的:

    $URL[0] 
    

    這樣:

    $URL['propic']