簡體   English   中英

如何在PHP foreach循環中從數據庫返回結果

[英]How to return results from a database in a PHP foreach loop

所以我有這段代碼:

foreach ($_SESSION['basket'] as $item) {
    $ref = $_SESSION['basket'][$counter];

    $result = pg_query ($conn, 'SELECT * from music WHERE ref='.$ref.' ORDER BY artist');
}

這將輸出第一行,但是會輸出以下Warning: pg_fetch_row() expects parameter 1 to be resource, boolean given如果我嘗試檢索多個行Warning: pg_fetch_row() expects parameter 1 to be resource, boolean given則為Warning: pg_fetch_row() expects parameter 1 to be resource, boolean given 我不明白如何給參數1賦予布爾值,這是第46行的代碼在其中出現錯誤: ($row = pg_fetch_row($result))

提前致謝

您可以使用$row =pg_fetch_array($result) ,然后使用$row['field_name']在foreach循環中取出值。

該錯誤可能是因為您的連接變量$conn沒有連接到您的數據庫。

嘗試所有可能性。 謝謝。

如果查詢失敗, pg_query返回FALSE 另外,應該使用pg_query_params來防止SQL注入。

看一下PHP文檔中的示例: http : //php.net/manual/en/function.pg-query.php

記得:

  • 答:轉義輸入,甚至更好地使用准備好的語句
  • B:在遍歷結果之前檢查返回值。 如果發生錯誤,則嘗試進行迭代是沒有意義的。

通常,在處理PHP-api的細節時,PHP文檔是個不錯的地方,有時這些細節……可能不那么直觀。 :-)

暫無
暫無

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

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