首先说明一点,用序列化和JSON不会不安全啊,数据安不安全取决于你的程序有没有过滤并且处理好要入库的数据,一般来说,入库的数据是需要保证安全的。
专注于为中小企业提供网站设计、做网站服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业新民免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了上千企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。
对于你这个问题,最好的做法还是字段扩展,这样至少搜索速度上不会出现大问题,如果是将所有的数据都放到一个字段上,就是上面的content字段,这样后续并不利于搜索,数据感觉也比较混乱。如果仅仅是多语言实现,单词之间的对应关系,这样使用单字段还是可以的,毕竟数据也不多。
$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’;
}
如果要实现PHP多语言不通数据库的话,可以通过将不同语言的数据存储在不同的数据库中来实现,每个语言的语言文件(如:zh_CN.php)和对应的数据库文件可以分别存放,并在调用数据库时使用对应的配置文件。
有两种情况,分析如下:
1、需要中英文切换内容较少
假设我们现在正在操作的是文章表,需要根据用户的语言环境输出中文或英文的文章内容。
在文章表中多添加一个字段用于存储英文的内容,发布文章的页面,同时上传中英文内容即可,然后服务端通过thinkphp的多语言标识来决定读取中文内容或者英文内容。也可以在前端模板中进行识别。
2、需要中英文切换内容较多
如果某个数据表的多个字段或者多个数据表都需要做中英文切换,显然在数据表里添加多个字段的方式就不太合适了,那将导致数据表字段太多,不方便管理,可以采用多数据表的方式,将内容完整的分为两份。就是把涉及到中英文切换的数据表多拷贝一份而已,里面的数据是英文的
。管理员后台,可以同时存储中英文内容,也可以分开存储,你自己决定就好,读取时同样使用thinkphp的多语言标识判断用户的语言环境,来决定查询中文表还是英文表。
另外,如果整站都需要中英文切换,也可以做分布式数据库!
一切根据实际需求决定!