2013-03-30 17 views
1

我有一個表,有5列,如TABLE(a,b,c,d,e)雖然從表中選擇多個柱子時循環不起作用

現在我想從TABLE中選擇所有列,但是腳本在while循環啓動後不工作。 我的PHP代碼:

include_once $_SERVER['DOCUMENT_ROOT'].'/include/db.inc.php' ; 
$sql="select * from TABLE"; 
$result = mysqli_query($link,$sql); 
if (!$result) 
{ 
include_once "wall.html.php"; 
echo'<tr><td align="center"> OOOOPPPPPSSS!!!SORRY,UNABLE TO DISPLAY LATEST 25 TOPICS</td></tr>'; 
exit(); 
} 
while ($row = mysqli_fetch_array($result)) 
{ 
$as[]=$row['a']; 
$bs[]=$row['b']; 
$cs[]=$row['c']; 
$ds[]=$row['d']; 
$es[]=$row['e']; 
} 
foreach($as as $x) 
{ 
    $name=$x; 
}....................and so on 

ways.what我注意到腳本不執行後while循環我已經確認並debuged許多。

+0

as [],...那些是什麼? – Mido

+0

不應該''如果[]','bs []'等有一個$,如果他們是變量? – dansaania

+0

將'a'列的所有值選擇爲'[]'數組 –

回答

1

您忘記$之前變量寫:

$as[]=$row['a']; 
^------------ 
bs[]=$row['b']; 
cs[]=$row['c']; 
ds[]=$row['d']; 
es[]=$row['e']; 
+1

這不是問題......在這裏輸入時出錯了......在我的實際上我寫了這些$ s –

+0

不再是問題;看看最新的編輯。 – Mido

0

有關使用array_push()什麼?另外,使用print_r()作爲$ []和你得到的所有數組,並將輸出粘貼到這裏,以便我們更清楚地知道問題到底是什麼。

+0

不明白..你可以描述..如何和我在哪裏使用這些 –

+0

在'foreach'語句之前,'print_r($ as)'告訴我們輸出是什麼。 – Mido

+0

致命錯誤:無法使用[]讀取161行上的C:\ Program Files \ Apache Software Foundation \ Apache2.2 \ htdocs \ wbut \ forum \ wall.html.php –

0

嘗試此操作並告訴print_r()函數正在打印,以便我們可以識別問題。

while ($row = mysqli_fetch_array($result)) 
{ 
$as[]=$row['a']; 
$bs[]=$row['b']; 
$cs[]=$row['c']; 
$ds[]=$row['d']; 
$es[]=$row['e']; 
} 
print_r($as); 
foreach($as as $x) 
{ 
    $name=$x; 
} 
+0

確保行名是正確的。 –

+0

沒有輸出.......... –

0

首先從$as[]去除括號中,$row['a']結果將不會是一個數組。

而這就是foreach不能正常工作的原因,你沒有收回數組。

如果生成的$as爲空,但數據庫中有某些內容,請確保rownames有效。使用$row[0]代替$row['A']

使用print_r($row)調試您的代碼以查看結果的內容。