[請益] db_與mysql_的差別

看板PHP作者 (nice play!)時間18年前 (2007/11/08 23:35), 編輯推噓5(507)
留言12則, 4人參與, 最新討論串1/1
在表頭引入下列這個檔 db_func.php(內容如下) <?php function db_query($qry_str) {return mysql_query($qry_str);} function db_num_rows($res) {return mysql_num_rows($res);} function db_fetch_array($res) {return mysql_fetch_array($res);} function db_fetch_object($res) {return mysql_fetch_object($res);} function db_data_seek($res,$num){return mysql_data_seek($res,$num);} function db_insert_id($res) {return mysql_insert_id($res);} ?> 然後接下來在 index.php裡的 "mysql_..."函數的mysql字樣都用db取代 然後也是一樣跑的動 只是想請問把mysql改用db取代_,在引入另一個宣告"db_..."函數的檔案 這樣有比較好嗎 為什麼要這樣做阿 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.130.204.28

11/08 23:51, , 1F
寫得更general一點, 以後換db時就只要改這些func就行了
11/08 23:51, 1F

11/09 14:28, , 2F
以後換DB時只要改 db function 裡的函數就好?
11/09 14:28, 2F

11/09 16:50, , 3F
不好意思..可以說的更清楚一點嗎...有點不太懂.. 換DB??
11/09 16:50, 3F

11/10 05:30, , 4F
有postgresql mysql sqlite oracle...etc很多種db
11/10 05:30, 4F

11/10 05:31, , 5F
各有各的函式庫 如果寫死mysql_*如果你要改用別的db
11/10 05:31, 5F

11/10 05:31, , 6F
你就要去改散落在各處的mysql_*改成另一個db的function
11/10 05:31, 6F

11/10 05:32, , 7F
加一個抽象層 你只要改抽象層裡面的對應就好了
11/10 05:32, 7F

11/10 05:34, , 8F
雖然說各db的SQL還有些不一樣 這就更麻煩了....
11/10 05:34, 8F

11/10 05:35, , 9F
所以還有adodb這種更大的抽象層
11/10 05:35, 9F

11/10 05:36, , 10F
不過方便跟效率往往不能同時達成 adodb會比較慢
11/10 05:36, 10F

11/10 05:37, , 11F
比較多人用的好像是 SQL寫相容性好的寫法+function wrap
11/10 05:37, 11F

11/10 22:30, , 12F
了解了 感謝^^
11/10 22:30, 12F
文章代碼(AID): #17Cooqi2 (PHP)
文章代碼(AID): #17Cooqi2 (PHP)