簡體   English   中英

在數據庫中獲取結果的推薦方法[OOP-PHP&MySQLi]

[英]recommended way of fetching results in database [OOP-PHP & MySQLi]

我已經知道什么以及如何使用fetch_arrayfetch_assocfetch_rowfetch_objectfetch_all(MYSQLI_NUM or MYSQLI_ASSOC or MYSQLI_BOTH)

但是我只是發現並試驗了下面的這段代碼對我有用而沒有使用任何fetch_ *對象

$sqli = $db->query("SELECT * FROM `tblSample`;");

foreach($sqli as $out) {
    echo "val1 => ", $out['0'], "<br />val2 => ", $out['1'], "<br />val3 => ", $out['2'];
}

如您所見,由於某種原因, 我沒有使用任何fetch_對象 ,通過使用foreach loop ,我仍然能夠獲取查詢的結果

我嘗試使用while loop來實現此目的,因為它如何與foreach loop一起工作,但無濟於事。

所以我只想問一個問題,因為我知道那里的其他一些專業開發人員可能已經遇到過這種方式。

推薦嗎? 假設沒有使用fetch_對象 謝謝

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

這樣做不一定沒有錯,但是實際上,我所見過的所有代碼/編寫的提取模式都已指定。

“查詢”和類似的“執行”是與PDO(PHP數據對象)相關的方法,該方法提供了與數據庫(不僅是MySQL,還包括SQL Server,Oracle,SQLite和其他數據庫)進行交互的方法,因此最好學習要使用這些方法(查詢,執行以及許多其他方法,請查看我們的PHP文檔中的PDO)。

關於PDO的好處是,如果您想用不同的數據庫來做另一個項目,那么與它的交互對您來說幾乎是一樣的,不僅是如果您現有的項目被遷移到另一個數據庫,您只需要修改總之,如果知道只與MYSQL數據庫進行交互,則使用MYSQL對象(MYSQLI_NUM或MYSQLI_ASSOC或MYSQLI_BOTH)沒有問題,PDO對象中的連接字符串和您的代碼將是相同的(不是很好嗎?)使用PDO可提供更好的可伸縮性。

暫無
暫無

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

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