php面试编程题_PHP程序员面试题(经典汇总,mysql为主)

以下是本节php面试题的全部内容。

1.表单中 get与post提交方法的区别?

答:get是发送请求HTTP协议通过url参数传递进行接收,而post是实体数据,可以通过表单提交大量信息.

2.session与cookie的区别?

答:session:储存用户访问的全局唯一变量,存储在服务器上的php指定的目录中的(session_dir)的位置进行的存放.

cookie:用来存储连续訪問一个頁面时所使用,是存储在客户端,对于Cookie来说是存储在用户WIN的Temp目录中的。

两者都可通过时间来设置时间长短.

3.数据库中的事务是什么?

答:事务(transaction)是作为一个单元的一组有序的数据库操作。如果组中的所有操作都成功,则认为事务成功,即使只有一个操作失败,事务也不成功。如果所有操作完成,事务则提交,其修改将作用于所有其他数据库进程。如果一个操作失败,则事务将回滚,该事务所有操作的影响都将取消。

4、能够使HTML和PHP分离开使用的模板?

答:

Smarty,Dwoo,TinyButStrong,Template Lite,Savant,phemplate,XTemplate

5、优化MYSQL数据库的方法?

答:

1)、选取最适用的字段属性,尽可能减少定义字段长度,尽量把字段设置NOT NULL,例如'省份,性别',最好设置为ENUM

2)、使用连接(JOIN)来代替子查询:

a.删除没有任何订单客户:DELETE FROM customerinfo WHERE customerid NOT in(SELECT customerid FROM orderinfo)

b.提取所有没有订单客户:SELECT FROM customerinfo WHERE customerid NOT in(SELECT customerid FROM orderinfo)

c.提高b的速度优化:SELECT FROM customerinfo LEFT JOIN orderid customerinfo.customerid=orderinfo.customerid

WHERE orderinfo.customerid IS NULL

3)、使用联合(UNION)来代替手动创建的临时表

a.创建临时表:

SELECT name FROM `nametest` UNION SELECT username FROM `nametest2`

4)、事务处理:

a.保证数据完整性,例如添加和修改同时,两者成立则都执行,一者失败都失败

复制代码 代码示例:

mysql_query("BEGIN");

mysql_query("INSERT INTO customerinfo (name) VALUES ('$name1')";

mysql_query("SELECT * FROM `orderinfo` where customerid=".$id");

mysql_query("COMMIT");

5)、锁定表,优化事务处理:

a.我们用一个 SELECT 语句取出初始数据,通过一些计算,用 UPDATE 语句将新值更新到表中。

包含有 WRITE 关键字的 LOCK TABLE 语句可以保证在 UNLOCK TABLES 命令被执行之前,

不会有其它的访问来对 inventory 进行插入、更新或者删除的操作

mysql_query("LOCK TABLE customerinfo READ, orderinfo WRITE");

mysql_query("SELECT customerid FROM `customerinfo` where id=".$id);

mysql_query("UPDATE `orderinfo` SET ordertitle='$title' where customerid=".$id);

mysql_query("UNLOCK TABLES");

6)、使用外键,优化锁定表

a.把customerinfo里的customerid映射到orderinfo里的customerid,

任何一条没有合法的customerid的记录不会写到orderinfo里

CREATE TABLE customerinfo

(

customerid INT NOT NULL,

PRIMARY KEY(customerid)

)TYPE = INNODB;

CREATE TABLE orderinfo

(

orderid INT NOT NULL,

customerid INT NOT NULL,

PRIMARY KEY(customerid,orderid),

FOREIGN KEY (customerid) REFERENCES customerinfo

(customerid) ON DELETE CASCADE

)TYPE = INNODB;

注意:'ON DELETE CASCADE',该参数保证当customerinfo表中的一条记录删除的话同时也会删除order

表中的该用户的所有记录,注意使用外键要定义事务安全类型为INNODB;

7)、建立索引:

a.格式:

(普通索引)->

创建:CREATE INDEX ON tablename (索引字段)

修改:ALTER TABLE tablename ADD INDEX [索引名] (索引字段)

创表指定索引:CREATE TABLE tablename([...],INDEX[索引名](索引字段))

(唯一索引)->

创建:CREATE UNIQUE ON tablename (索引字段)

修改:ALTER TABLE tablename ADD UNIQUE [索引名] (索引字段)

创表指定索引:CREATE TABLE tablename([...],UNIQUE[索引名](索引字段))

(主键)->

它是唯一索引,一般在创建表是建立,格式为:

CREATA TABLE tablename ([...],PRIMARY KEY[索引字段])

8)、优化查询语句

a.最好在相同字段进行比较操作,在建立好的索引字段上尽量减少函数操作

例子1:

SELECT * FROM order WHERE YEAR(orderDate)<2008;(慢)

SELECT * FROM order WHERE orderDate

例子2:

SELECT * FROM order WHERE addtime/7<24;(慢)

SELECT * FROM order WHERE addtime<24*7;(快)

例子3:

SELECT * FROM order WHERE title like "%good%";

SELECT * FROM order WHERE title>="good" and name

6、MYSQL取得当前时间的函数是?,格式化日期的函数是(2分)

答:now(),dateformat()

这份php面试题,重点考核了mysql性能优化方面的内容,看着像是招会php编程的mysql数据库的DBA,哈~~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/428594.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

js中 style.width与 offsetWidth的区别

作为一个初学者&#xff0c;经常会遇到在获取某一元素的宽度&#xff08;高度、top值...&#xff09;时&#xff0c;到底是用 style.width还是offsetWidth的疑惑。 1. 当样式写在行内的时候&#xff0c;如 <div id"box" style"width:100px">时&#…

1634D. Finding Zero

D. Finding Zero 构造&#xff0c;我们设a&#xff0c;b&#xff0c;c里面有最大值和最小值在这里插入代码片&#xff0c;然后再从中找到二者 #include<bits/stdc.h> using namespace std; const int N 2e67; int ask(int a,int b,int x) {cout<<"? "…

Python中曲率与弯曲的转换_黎曼几何学习笔记(3)——共形数量曲率与高斯曲率...

参考文献&#xff1a;(GTM171)Peter《Riemannian Geometry》&#xff0c;Richard Mikula《Notes on the Yamabe Flow》&#xff0c;夏青《曲面上的预定高斯曲率问题》.我声明以下内容我亲自验算过&#xff0c;在文章后面我会给出我的部分验算手稿.设是维紧致可定向黎曼流形&…

Nginx服务基础

Nginx的英文官方网站是http://nginx.org&#xff0c;在这里可以查看Nginx的各个软件版本信息。Nginx软件有三种版本&#xff1a;稳定版、开发版和历史稳定版。开发版更新较快&#xff0c;包含最新的功能和bug的修复&#xff0c;但同时也可能会遇到新的bug&#xff0c;开发版的更…

1622C. Set or Decrease

C. Set or Decrease 一道思维题#include <bits/stdc.h> using namespace std; #define int long long const int N 2e57; int a[N]; signed main() {int t;cin>>t;while (t--){int n,k,sum 0;cin>>n>>k;for (int i0;i<n;i){cin>>a[i];suma…

Linux下搭建iSCSI共享存储详细步骤(服务器模拟IPSAN存储)

一、简介 iSCSI&#xff08;internet SCSI&#xff09;技术由IBM公司研究开发&#xff0c;是一个供硬件设备使用的、可以在IP协议的上层运行的SCSI指令集&#xff0c;这种指令集合可以实现在IP网络上运行SCSI协议&#xff0c;使其能够在诸如高速千兆以太网上进行路由选择。iSCS…

yum如何安装特定版本的gcc_linux下如何升级python

Python 的概念小编使用的centos7下的python版本为2.7,而python要全面转向python3,故升级pyhton迫在眉睫&#xff0c;今天来介绍一下如何升级centos下的python首先要确定需要升级的python3的版本&#xff0c;比如小编想升级到3.7.0&#xff0c;在linux下输入命令&#xff1a;这条…

java报错空指针异常_夯实基础:认识一下这10 个深恶痛绝的 Java 异常

异常是 Java 程序中经常遇到的问题&#xff0c;我想每一个 Java 程序员都讨厌异常&#xff0c;一 个异常就是一个 BUG&#xff0c;就要花很多时间来定位异常问题。什么是异常及异常的分类请看这篇文章&#xff1a;异常小结&#xff1a;上一张图搞清楚Java的异常机制。今天来列一…

页面分页

需求&#xff1a;当数据很多&#xff0c;一个页面难以展现时&#xff0c;便需要分页来实现。 说在前面&#xff1a; 1.每一页展示的数据可以从数据库中抽取出来&#xff0c;数据查询方法中有limit这个方法&#xff0c;limit x,y —–>x表示从第几条数据开始查询&#xff0c;…

Codeforces Round #789 (Div. 2)(A-D)

Codeforces Round #789 (Div. 2) A. Tokitsukaze and All Zero Sequence 一个小小的思维贪心&#xff0c;很容易知道如果有0&#xff0c;直接用0去和其他数处理&#xff0c;如果没有就先创造一个 #include <bits/stdc.h> using namespace std; #define int long long c…

typora打开pdf文件提示文件过大_Win7/Win10拷贝到U盘容量足够却提示文件过大的解决方法...

前段时间&#xff0c;装机之家分享了系统安装的教程&#xff0c;不过有用户在拷贝系统镜像文件的时候&#xff0c;出现了系统提示文件过大&#xff0c;但是U盘容量足够大&#xff0c;这是什么情况呢&#xff1f;下面装机之家分享的Win7/Win10系统下拷贝到U盘容量足够却提示文件…

图像卷积与滤波的一些知识点

http://blog.csdn.net/zouxy09/article/details/49080029 之前在学习CNN的时候&#xff0c;有对卷积进行一些学习和整理&#xff0c;后来就烂尾了&#xff0c;现在稍微整理下&#xff0c;先放上来&#xff0c;以提醒和交流。 一、线性滤波与卷积的基本概念 线性滤波可以说是图像…

数据库(1)基础知识

mysql的登录登出 : 方法一&#xff1a;通过MySQL再带的客户端&#xff08;只限于root用户&#xff09; 方法二&#xff1a;通过windows自带的客户端 登录&#xff1a;MySQL【-h主机名 -p端口号】-u用户名 -p密码 退出&#xff1a;exit或者ctrlc mysql的常见命令&#xff1a; 1…

1到10选一个数字读心术_厉害了!quot;广东110“互联网报警满足您多场景报警需求!...

01报警人哎&#xff0c;110&#xff0c;这边打架了。(南方口音)警察在哪里?报警人在fa ben 市场门口嘛。警察什么“发奔”市场&#xff0c;没听过这个地方&#xff0c;你能讲清楚点吗?报警人就是那个卖“发发”草草的市场嘛&#xff0c;哎&#xff0c;这都不知道&#xff0c;…

学生免费用IDEA

第一步&#xff1a;官网免费申请 进去之后点击立即申请。 来到这个界面&#xff1a; 这时候有些博主就瞎写了&#xff0c;搞的我弄半天电子邮件。 其实在校大学生应该点击官方文件 按照要求填写就行了&#xff0c;自己的邮箱&#xff0c;学信网的证明&#xff0c;学校名称等…

C# ADO.NET

ADO.NET 作业总结难点 数据库语句掌握太差 //查询 select * from Users //查询表中所有数据 select * from Users where UserName lisi //查询单条数据 select UserName from Users // 查询UserName所有数据 //删除 delete from Users //删除表中所有数据 delete from Users …

网页设计如何排成一列_网页设计如何影响以及改善SEO?

在当今的SEO世界中&#xff0c;网站设计实践也起着关键作用。用户体验已成为搜索引擎排名的关键因素。因此&#xff0c;您网站的设计以及用户与网站的交互方式会直接影响您网站在搜索结果中的排名。在本文中&#xff0c;我们将重点介绍一些可能对网站的SEO性能有直接影响的网站…

Tensorflow模型加载与保存、Tensorboard简单使用

先上代码&#xff1a; from __future__ import absolute_import from __future__ import division from __future__ import print_function # -*- coding: utf-8 -*- """ Created on Tue Nov 14 20:34:00 2017author: HJL """# Copyright 2015 T…

cesium添加填充_Cesium中级教程1 - 空间数据可视化(一)

Cesium中文网&#xff1a;http://cesiumcn.org/| 国内快速访问&#xff1a;http://cesium.coinidea.com/本教程将教读者如何使用Cesium的实体&#xff08;Entity&#xff09;API绘制空间数据&#xff0c;如点、标记、标签、线、模型、形状和物体。不需要Cesium的先验知识&#…