1.请问get与post方法有什么区别?
答:1. get是从服务器上获取数据,post是向服务器传送数据。 2. get是把参数数据队列加到提交表单的ACTION属性所指的URL中,值和表单内各个字段一一对应,在URL中可以看到。post是通过HTTP post机制,将表单内各个字段与其内容放置在HTML HEADER内一起传送到ACTION属性所指的URL地址。用户看不到这个过程。 3. 对于get方式,服务器端用Request.QueryString获取变量的值,对于post方式,服务器端用Request.Form获取提交的数据。 4. get传送的数据量较小,不能大于2KB。post传送的数据量较大,一般被默认为不受限制。但理论上,IIS4中最大量为80KB,IIS5中为100KB。 5. get安全性非常低,post安全性较高。但是执行效率却比Post方法好。 建议: 1、get方式的安全性较Post方式要差些,包含机密信息的话,建议用Post数据提交方式; 2、在做数据查询时,建议用Get方式;而在做数据添加、修改或删除时,建议用Post方式;
2.echo()、print()、print_r()的区别?
答:echo是php语言结构,没有返回值,可以输出一个或者多个字符串。
print和print_r是函数,有返回值。
print只能打印简单类型变量的值(int,string)。
print_r可以打印复合型变量的值(数组,对象)。
3.数组['a','b','c'] 转换成字符串 'abc'?
答:echo implode('',$arr);
4.获取字符串'aAbB'中A首次出现的位置?
答:echo strpos('A',$str);
5.描述一个php上传一张图片的整个流程?
答:1.首先判断文件类型是否为图片格式。
2.若是则上传文件,然后重命名文件(一般都是避免上传文件重名,现在基本上都是以为时间来命名)
3.接着把文件上传到指定目录,成功上传后输出上传图片的预览。
6.mysql_fetch_row() 和 mysql_fetch_array 之间有什么区别?
答:mysql_fetch_row() 函数从结果集中取得一行作为数字数组。
mysql_fetch_array() 是 mysql_fetch_row() 的扩展版本。除了将数据以数字索引方式储存在数组中之外,还可以将数据作为关联索引储存,用字段名作为键名。
7.利用下表结构,写出发帖数最多的十个人名字的sql(members(id,username,posts))?
答:select username, count(username) as posts from members group by username order by posts desc limit 10。
8.列举mysql数据库优化的三种方法?
答:Mysql的优化,大体可以分为三部分:索引的优化,sql语句的优化,表的优化
1.索引的优化
只要列中含有NULL值,就最好不要在此例设置索引,复合索引如果有NULL值,此列在使用时也不会使用索引
尽量使用短索引,如果可以,应该制定一个前缀长度
对于经常在where子句使用的列,最好设置索引,这样会加快查找速度
对于有多个列where或者order by子句的,应该建立复合索引
对于like语句,以%或者‘-’开头的不会使用索引,以%结尾会使用索引
尽量不要在列上进行运算(函数操作和表达式操作)
尽量不要使用not in和<>操作
2.sql语句的优化
查询时,能不要*就不用*,尽量写全字段名
大部分情况连接效率远大于子查询
多使用explain和profile分析查询语句
查看慢查询日志,找出执行时间长的sql语句优化
多表连接时,尽量小表驱动大表,即小表 join 大表
在千万级分页时使用limit
对于经常使用的查询,可以开启缓存
3.表的优化
表的字段尽可能用NOT NULL
字段长度固定的表查询会更快
把数据库的大表按时间或一些标志分成小表
将表分区
9.对于大流量的应用,采用什么样的方法来解决访问量问题?
答:01、|确认服务器硬件是否足够支持当前的流量
02、优化数据库访问 [缓存技术
03、禁止外部的盗链。
04、优化前后端代码,不能有冗余代码;
05、控制大文件的下载
06、使用不同主机分流主要流量 [分布式]
07、使用流量软件统计软件
10.请问varchar 和 char 有什么区别?
答:char是定长字符串,varchar是变长字符串,char效率比varchar稍高,所谓的以空间换取时间效率。
11.cookie session的联系和区别,多台web服务器如何共享session?
答:(1).cookie在本地,session在服务器端。
(2).cookie不安全,容易被欺骗,session相对安全。
(3).session在服务器端,访问多了会影响服务器性能。
(4).cookie有大小限制,为3K。
(5).session是基于cookie的,如果cookie被禁用,session不能被启用。
多服务器共享session可以尝试将session存储在memcache中。