2015-09-08 45 views
2

我正在玩一點點PHP/PDO,我想我有一個很容易的問題給你。如何將查詢結果放入變量中?

這是我的SQL $query = $handler->query('SELECT * FROM table LIMIT 1');並在此之後我已經把一個while循環:

while($r = $query->fetch()) { 
    echo '<img src=', $r['imagepath'], '>'; 
} 

此代碼的工作非常適合我,但現在我想提出的獲取,方法的結果到一個變量並在PHP標記之間以簡單的方式在我的html表中輸出它,優先於在html標記之間放置整個while循環。這只是醜陋的,我不認爲這是正確的方式。

回答

2

您可以使用extract()功能,如下所示EXTR_SKIP標誌。

while($r = $query->fetch()) { 
    extract($r, EXTR_SKIP); 
    echo "<img src='{$imagepath}'>"; 
} 

另外,作爲一個附註。一般避免在查詢中使用SELECT *,通常用於與性能相關的問題。與此同時,我會重寫您的查詢爲:

$result = $handler->query("SELECT imagename, imagepath FROM ... LIMIT 1" , PDO::FETCH_ASSOC); 

extract($result, EXTR_SKIP); 
echo "<img src='{$imagePath}'>"; 
+0

OP想要一個解決方案,while循環不必在HTML中。不可能,因爲HTML表中的行數取決於MySQL結果集,但是您應該考慮在答案中解決這個問題。 – samrap

+0

@CodeVolunteer你的任務不清楚,你期望有多少行? '極限1'暗示,你只有一排......對嗎? – samayo

+1

不,我有一個以上。但是我剛剛在2個月前開始使用Web開發,並花了大量時間用於html,wp,bootstrap/css。 我只想爲現在的基礎工作。你幫我到目前爲止,所以謝謝你:-) 這肯定是我將來發布的100個問題中的一個^^ – CodeVolunteer

相關問題