簡體   English   中英

使用PHP進行MySQL數據庫操作

[英]MySQL database manipulation with PHP

花了近幾天的時間對此進行研究,但我認為我沒有得到...我通常可以使用PHP來完成我需要做的工作,但對MySQL來說卻是新手

我設置了一個MySQL數據庫來保存一些照片。 照片位於單獨的畫廊中(畫廊由畫廊字段表示)。 照片還通過ID號索引。

在顯示照片時(到目前為止,所有功能都可以完美使用...),我希望能夠跳至圖庫中的下一張或上一張照片,但不能只使用下一張或上一張ID,因為它可以來自不同的小組(發現困難的方式;)

從我的研究中,我覺得我需要使用這個:

$sql = "SELECT id FROM gphoto WHERE gallery='$g' ORDER BY id DESC";
$query = mysqli_query($db_conx, $sql);

但是$ query似乎沒有給我我期望的東西。 感覺好像$ query如果所有id都包含gphoto的話,它應該包含一個數組,我應該能夠找到我當前的id號,然后向上或向下跳轉一個,但是當我嘗試讀取$ query時,我得到了:

無法將類型為mysqli_result的對象用作數組

我顯然誤解了一些人的建議:$ result = mysqli_fetch_assoc($ query);

在廣泛閱讀在線手冊后,我嘗試過此操作,但由於某種原因,它僅列出了一項...在這種情況下,它是最后一條記錄。

如果我將其作為ASC運行,它將列出第一個。 它應該像我期望的那樣列出所有記錄,還是不同的命令?

C)

為法比奧的回應+1。

一個好的建議是使用PDO接口訪問PHP中的數據庫。 這是一個有意義的接口,可在不了解所用數據庫驅動程序的情況下構造,執行和獲取查詢結果。

http://php.net/manual/en/book.pdo.php

執行查詢以處理剛創建的mysqli對象后,需要從數據庫中獲取數據

$query = mysqli_query($db_conx, $sql);
$result = mysqli_fetch_assoc($query);

現在您有了要在變量$result中查找的數組

if ($result = mysqli_query($db_conx, $query)) {
    /* fetch associative array */
    while ($row = mysqli_fetch_assoc($result)) {
        //mysqli_fetch_assoc fetches data by row
    }
}

您只得到1行,這就是mysqli_fetch_assoc的工作方式。 如果您希望整個結果是行的數組,請使用mysqli_fetch_all

我建議使用PDO,但建議使用@ceadreak。

暫無
暫無

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

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