Re: [請益] 上傳檔案問題

看板PHP作者 (乳瑪琳)時間19年前 (2005/12/20 00:54), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串5/7 (看更多)
※ 引述《cjoe (cjoe)》之銘言: : ※ 引述《marinne (乳瑪琳)》之銘言: : : [del] : : 交易功能如果你的mysql server有支援的話當然可以用啊。 : : mysql_query('BEGIN_TRANS'); : : mysql_query('INSERT INTO ...'); : : $inser_id = mysql_insert_id(); : : if(!move_uploaded_file($source, '/path/to/'.$insert_id.$file_extension)) { : : mysql_query('ROLLBACK_TRANS'); : : do_error_handling(); : : } : : mysql_query('COMMIT_TRANS'); : : 大致上是這樣。 : 請問,要在什麼版本或什麼條件下才有支援呢? : 因為我之前聽說MySQL不支援 交易功能,例如rollback之類的。 : 謝謝 (說明一下,之前寫的BEGIN_TRANS / ROLLBACK_TRANS / COMMIT_TRANS這些 語法在mysql裡面實際用的語法不太一樣,不要直接複製去用)。 是否支援交易功能,和你選用的資料表形態有關,和mysql server的版本 比較無直接相關。要使用交易功能你必須使用BDB或者InnoDB作為資料表形態, 預設使用的myisam並不支援交易功能。並非一定要mysql 5才支援BDB或者InnoDB 資料表,在以前3.x的版本就有了,4.x也有。下載的時候要注意網頁上的說明, 看看下載的版本是否有支援這兩種資料表形態。 Windows版本的話,現在較新版本的mysql server都會附有安裝與設定程式, 在安裝過程中會問你要怎麼使用這個mysql server,其中會有支援交易功能 的選項,選這個就會把InnoDB納入。Linux/U*ix版本的話,有"Max"的版本 有納入。如果是mysql 5.x的話,所有的binary下載都會預設納入InnoDB。 要檢查已安裝的mysql server支援哪些儲存引擎類型,可以用SHOW ENGINES: (以下結果有些太長我把後面刪掉了) mysql> SHOW ENGINES; +------------+---------+---------------------------------------------------+ | Engine | Support | Comment | +------------+---------+---------------------------------------------------+ | MyISAM | DEFAULT | Default engine as of MySQL 3.23 with great per....| | HEAP | YES | Alias for MEMORY | | MEMORY | YES | Hash based, stored in memory, useful for tempor.. | | MERGE | YES | Collection of identical MyISAM tables | | MRG_MYISAM | YES | Alias for MERGE | | ISAM | NO | Obsolete storage engine, now replaced by MyISAM | | MRG_ISAM | NO | Obsolete storage engine, now replaced by MERGE | | InnoDB | YES | Supports transactions, row-level locking, and ... | | INNOBASE | YES | Alias for INNODB | | BDB | YES | Supports transactions and page-level locking | | BERKELEYDB | YES | Alias for BDB | | NDBCLUSTER | NO | Clustered, fault-tolerant, memory-based tables | | NDB | NO | Alias for NDBCLUSTER | | EXAMPLE | NO | Example storage engine | | ARCHIVE | NO | Archive storage engine | | CSV | NO | CSV storage engine | | BLACKHOLE | NO | Storage engine designed to act as null storage | +------------+---------+---------------------------------------------------+ 17 rows in set (0.01 sec) -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.132.153.37
文章代碼(AID): #13fkM_Vy (PHP)
文章代碼(AID): #13fkM_Vy (PHP)