[英]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中的數據庫。 這是一個有意義的接口,可在不了解所用數據庫驅動程序的情況下構造,執行和獲取查詢結果。
執行查詢以處理剛創建的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.