首先說明一點(diǎn),用序列化和JSON不會(huì)不安全啊,數(shù)據(jù)安不安全取決于你的程序有沒有過濾并且處理好要入庫的數(shù)據(jù),一般來說,入庫的數(shù)據(jù)是需要保證安全的。
專注于為中小企業(yè)提供網(wǎng)站設(shè)計(jì)、做網(wǎng)站服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)新民免費(fèi)做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動(dòng)了上千企業(yè)的穩(wěn)健成長(zhǎng),幫助中小企業(yè)通過網(wǎng)站建設(shè)實(shí)現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。
對(duì)于你這個(gè)問題,最好的做法還是字段擴(kuò)展,這樣至少搜索速度上不會(huì)出現(xiàn)大問題,如果是將所有的數(shù)據(jù)都放到一個(gè)字段上,就是上面的content字段,這樣后續(xù)并不利于搜索,數(shù)據(jù)感覺也比較混亂。如果僅僅是多語言實(shí)現(xiàn),單詞之間的對(duì)應(yīng)關(guān)系,這樣使用單字段還是可以的,畢竟數(shù)據(jù)也不多。
$lan=$_GET['l']?$_GET['l']:"zh";
if($lan==zh)
{
$sql=select * from zz_importer lang=‘cn’;
}
if($lan==en)
{
$sql=select * from zz_importer lang=‘en’;
}
如果要實(shí)現(xiàn)PHP多語言不通數(shù)據(jù)庫的話,可以通過將不同語言的數(shù)據(jù)存儲(chǔ)在不同的數(shù)據(jù)庫中來實(shí)現(xiàn),每個(gè)語言的語言文件(如:zh_CN.php)和對(duì)應(yīng)的數(shù)據(jù)庫文件可以分別存放,并在調(diào)用數(shù)據(jù)庫時(shí)使用對(duì)應(yīng)的配置文件。
有兩種情況,分析如下:
1、需要中英文切換內(nèi)容較少
假設(shè)我們現(xiàn)在正在操作的是文章表,需要根據(jù)用戶的語言環(huán)境輸出中文或英文的文章內(nèi)容。
在文章表中多添加一個(gè)字段用于存儲(chǔ)英文的內(nèi)容,發(fā)布文章的頁面,同時(shí)上傳中英文內(nèi)容即可,然后服務(wù)端通過thinkphp的多語言標(biāo)識(shí)來決定讀取中文內(nèi)容或者英文內(nèi)容。也可以在前端模板中進(jìn)行識(shí)別。
2、需要中英文切換內(nèi)容較多
如果某個(gè)數(shù)據(jù)表的多個(gè)字段或者多個(gè)數(shù)據(jù)表都需要做中英文切換,顯然在數(shù)據(jù)表里添加多個(gè)字段的方式就不太合適了,那將導(dǎo)致數(shù)據(jù)表字段太多,不方便管理,可以采用多數(shù)據(jù)表的方式,將內(nèi)容完整的分為兩份。就是把涉及到中英文切換的數(shù)據(jù)表多拷貝一份而已,里面的數(shù)據(jù)是英文的
。管理員后臺(tái),可以同時(shí)存儲(chǔ)中英文內(nèi)容,也可以分開存儲(chǔ),你自己決定就好,讀取時(shí)同樣使用thinkphp的多語言標(biāo)識(shí)判斷用戶的語言環(huán)境,來決定查詢中文表還是英文表。
另外,如果整站都需要中英文切換,也可以做分布式數(shù)據(jù)庫!
一切根據(jù)實(shí)際需求決定!