2016-01-04 75 views
0

我有PDO的陣列其沒有顯示任何輸出說varibale圖像沒有定義varible $ PIC沒有定義.... 下面是代碼,請告訴我,我錯了....變量在PHP的PDO沒有定義

$rows = $result->fetch(PDO::FETCH_NUM); 
if(count($rows) > 0) { 
    while($row=$result->fetch(PDO::FETCH_OBJ)){ 
    $image = $row['file']; 
    $pic = array('1.jpg','2.jpg','3.jpg',$image); 
    } 
    } 

我是回聲使用用於循環,但變量定義錯誤這個陣列....

<?php 
    for($i=0;$i<4;$i++) 
    echo"<option data-img-src=\"$pic[$i]\" value=\"$pic[$i]\" ></option>"; 

    ?> 

回答

0

$picwhile循環的範圍內限定。聲明它在頂部,它會工作。老版本的PHP工作,但最新的一個例外。

$pic=""; 
    $rows = $result->fetch(PDO::FETCH_NUM); 
    if(count($rows) > 0) { 
    while($row=$result->fetch(PDO::FETCH_OBJ)){ 
    $image = $row['file']; 
    $pic = array('1.jpg','2.jpg','3.jpg',$image); 
    } 
    } 
+0

它不工作我只爲$圖像書寫陣列和得到的數據$形象,而這樣如何從循環寫外面/ –

0

您使用FETCH_OBJ風格,那麼使用輸出,如果它是一個數組,導致錯誤。

這可以去兩種方式:

  • 更改取樣式FETCH_ASSOC這樣你可以使用它作爲一個數組

    while($row=$result->fetch(PDO::FETCH_ASSOC)){ 
    $image = $row['file']; 
    
  • 或更改$image行,以便它使用$row變量作爲一個對象。

    while($row=$result->fetch(PDO::FETCH_OBJ)){ 
    $image = $row->file;