thinkPHP MySQL 關於文章欄位,內容分頁的幾個小問題?

來源:互聯網
上載者:User
PHP+MySQL

文章內容欄位用什麼類型呢?
1:文章字數可能很長,沒人知道會有多長,到底MySQL能儲存多少字?
2:太長了post提交能行嗎?
3:寫文章是不是還是要限制一個長度的呢?
4:不想要被限制。

當文章內容太長了就要進行分頁
分頁怎麼做呢?
1:使用sql語句
使用 MySQL字串函數:字串截取 left(), right(), substring(), substring_index()
形如:select left(content,90) as content from post where id = '$id' 這樣的嗎?

這個字串截取是MySQL專屬的函數嗎?PDO有嗎?MySQL是按截取長度截的,還是先都取出來再截取呢,如果是再截取那和PHP處理有什麼不同呢,效率問題呢?

2:使用分隔字元標記分割
這個怎麼做呢,是一次性讀出來,然後PHP按照分隔字元作分割是嗎?

3:還有呢……

希望有大神指點迷津哈。
謝謝。

回複內容:

PHP+MySQL

文章內容欄位用什麼類型呢?
1:文章字數可能很長,沒人知道會有多長,到底MySQL能儲存多少字?
2:太長了post提交能行嗎?
3:寫文章是不是還是要限制一個長度的呢?
4:不想要被限制。

當文章內容太長了就要進行分頁
分頁怎麼做呢?
1:使用sql語句
使用 MySQL字串函數:字串截取 left(), right(), substring(), substring_index()
形如:select left(content,90) as content from post where id = '$id' 這樣的嗎?

這個字串截取是MySQL專屬的函數嗎?PDO有嗎?MySQL是按截取長度截的,還是先都取出來再截取呢,如果是再截取那和PHP處理有什麼不同呢,效率問題呢?

2:使用分隔字元標記分割
這個怎麼做呢,是一次性讀出來,然後PHP按照分隔字元作分割是嗎?

3:還有呢……

希望有大神指點迷津哈。
謝謝。

關於字數

  1. 沒人知道多長也還是有個長度的,你仍然要對這個長度做出一個評估,並且選取一個合適的類型

  2. post的尺寸受到多個地方的限制,你的web伺服器(nginx或者apache),你的php.ini的配置,甚至還有web伺服器和php執行逾時時間這兩個的限制(因為資料量如果太大的話,傳輸時間也需要相應增加,很可能會在沒有傳輸完之前就逾時了)

  3. 是的

  4. 你可以把所有限制都去掉,或者改的很大很大很大很大,然後一個post提交你的伺服器記憶體就直接被炸了(比如post一個10G的資料)

關於字串截取
PHP當然可以截取字串,不過如果你要處理中文,建議使用mb_開頭系列的函數,比如mb_strcut,mb_strlen等等等,避免出現截斷半個字的問題
並且分隔也可以很方便的處理,只要你定義好自己的特殊分隔字元,你可以看explode函數

但如果你真的是想幾十萬字的書本層級的文字儲存起來的話,你應該考慮分章節儲存,而一本書則可以對應很多章節

  • 相關文章

    聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.