首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

PHP经典面试题合集

key) 能够唯一标识表中某一行的属性或属性组。...一般情况下,要删除一张表中的主键必须首先要确保其它表中的没有相同外键(即该表中的主键没有一个外键和它相关联)。 索引(index) 是用来快速地寻找那些具有特定值的记录。...InnoDB:所有的表都保存在同一个数据文件中(也可能是多个文件,或者是独立的表空间文件),InnoDB表的大小只受限于操作系统文件的大小,一般为2GB。...InnoDB:支持事务和行级锁,是innodb的最大特色。行锁大幅度提高了多用户并发操作的新能。但是InnoDB的行锁,只是在WHERE的主键是有效的,非主键的WHERE都会锁全表的。...39.在PHP中,当前脚本的名称(不包括路径和查询字符串)记录在预定义变量(?)

1.3K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    PHP面试题,面试必看!

    几行代码就能开始运行,再加几 行代码就可以进行输出。可谓是“大道至简”的典范。...2.配置简单,全部的配置使用PHP脚本来配置,执行效率高; 3.具有基本的路由功能,能够进行一定程度的路由; 4.具有初步的Layout功能,能够制作一定程度的界面外观; 5.数据库层封装的不错,...MySQL语句小测试单元: 假设有一张”user”表,表存放于”db_data”数据库中,主机地址为localhost,用户名为root,密码为123456,表结构如下: | 字段名称 | 字段属性...utf-8’,’gb2312’,$str); 简单介绍serialize() /unserialize()函数的作用 答:serialize()和unserialize()在php手册上的解释是: serialize...unserialize — 从已存储的表示中创建 PHP 的值

    2K20

    php面试题目2020_php算法面试题及答案

    答:数据库是一个多用户使用的共享资源。当多个用户并发地存取数据时,在数据库中就会产生多个事务同时存取同一数据的情况。若对并发操作不加控制就可能会读取和存储不正确的数据,破坏数据库的一致性。...外键–用来和其他表建立联系用的 索引–是提高查询排序的速度 个数: 主键–主键只能有一个 外键–一个表可以有多个外键 索引–一个表可以有多个唯一索引 31、简述 private、 protected...使用自动载入的魔术函数可以不必要写很多个include或者require函数。 37、简述高并发网站解决方案。...D、InnoDB中不保存表的具体行数,也就是说,执行select count(*) from table时,InnoDB要扫描一遍整个表来计算有多少行,但是MyISAM只要简单的读出保存好的行数即可;...不会重新建立表,而是一行一行的删除; G、LOAD TABLE FROM MASTER操作对InnoDB是不起作用的,解决方法是首先把InnoDB表改成MyISAM表,导入数据后再改成InnoDB表,

    3.2K20

    ClickHouse 表引擎 & ClickHouse性能调优 - ClickHouse团队 Alexey Milovidov

    无并发数据访问限制: 如果从一个表中读取,在另一个查询中写入会报错 如果同时在多个查询中写入该表,数据将被破坏 使用该表的典型方法是一次写入:只写入一次数据,然后根据需要多次读取数据。...这些标签写在每个数据块上,并包含一个偏移量,指示从哪里开始读取文件以跳过指定的行数。这允许在多个线程中读取表数据。对于并发数据访问,读操作可以并发进行,而写操作则相互阻塞读和读。日志引擎不支持索引。...表引擎的最后一个可选参数是版本列。连接时,所有具有相同主键值的行将减少为一行。如果指定了版本列,则保留版本最高的行,否则保留最后一行。...聚合合并树 AggregatingMergeTree 这种机制与 MergeTree 的不同之处在于合并将存储在表中的聚合函数的状态组合成具有相同主键值的行。...从 ReplicatedMergeTree 转换为 MergeTree 创建一个具有不同名称的 MergeTree 表。将合并树表的复制数据中的所有数据移动到新表的数据目录中。

    2K20

    程序员面试备战篇:18个经典MySQL面试专题解析(干货分享答案)

    简而言之,第三范式(3NF)要求一个数据库表中不包含已在其它表中已包含的非主关键字信息。>所以第三范式具有如下特征:>>1. 每一列只有一个值 >>2. 每一行都能区分。>>3....* 复制过程中一个服务器充当主服务器,而一个或多个其它服务器充当从服务器。 主服务器将更新写入二进制日志文件,并维护文件的一个索引以跟踪日志循环。这些日志可以记录发送到从服务器的更新。...Repeatable Read(可重读) >> 这是 MySQL 的默认事务隔离级别,它确保同一事务的多个实例在并发读取数据时,会看到同样的数据行。...拆分开后,对字段的 UPDAE 就要 UPDATE 多个表了 12.MySQL 中 InnoDB 引擎的行锁是通过加在什么上完成(或称实现)的?...对于繁忙的服务器, buffer pool 将划分为多个实例以提高系统并发性, 减少线程间读写缓存的争用。

    1.7K00

    带你走进PHP session反序列化漏洞

    0,不启动 session.cookie_lifetime 指定了发送到浏览器的 cookie 的生命周期,单位为秒,值为 0 表示“直到关闭浏览器”。...当然,文件的内容始终是session值的序列化之后的内容: session.serialize_handler 定义的引擎有三种,如下表所示: 处理器名称 存储格式 php 键名 + 竖线 + 经过...()函数序列化处理的数组 注:自 PHP 5.5.4 起可以使用 php_serialize 上述三种处理器中,php_serialize 在内部简单地直接使用 serialize/unserialize...函数,并且不会有 php 和 php_binary 所具有的限制。..._SESSION["upload_progress_ryat"],在会话上传过程中,将对会话数据进行序列化/反序列化,序列化格式由php.ini中的session.serialize_handler选项设置

    1.8K20

    PHP编程注意事项

    3.系列化传递问题 把复杂的数据类型压缩到一个字符串中 serialize() 把变量和它们的值编码成文本形式 unserialize() 恢复原先变量 $stooges = array('...2)当在一个脚本中多次执行时,预备语句的性能通常好于每次都通过网络发送查询,当再次执行一个查询时,只将参数发送到数据库,这占用的空间比较少。...通过禁用这个设置,PHP 强迫您在正确的名称空间中引用正确的变量。要使用来自表单 POST 的变量,应该引用 _POST['variable']。...10. curl多请求并发使用 curl大家一定使用过,但并发使用的情况估计不多。...编码之前搜索一下PHP mamual,在google上检索一下,也许会有新的发现!PHP中的exec()是一个强大的函数,可以执行cmd shell,并把执行结果的最后一行以字符串的形式返回。

    2.6K10

    PHP反序列化进阶学习与总结

    PHP序列化的函数为serialize(),反序列化的函数为unserialize(). 为什么需要序列化序列化是为了对象可以跨平台存储,和进行网络传输。...序列化中各种数据表达方式在PHP中对不同类型的数据用不同的字母来标识:a - array(数组型) b - boolean(布尔型) d - double(双精度型) i - integer(整数型)...*%00属性名; 需要注意得是:在反序列化的过程中必须保证当前作用域下类是存在的,否则无法完成反序列化操作 反序列化漏洞 PHP反序列化漏洞也叫PHP对象注入。...发现/var/Typecho/Feed.php 文件223行使用了toString方法 顺着这个函数,可以发现调用了$item['author']->screenName,这是一个当前类的私有变量,可以进行利用...在/var/Typecho/Request.php 第269行可以找到__get方法(__get会在读取不可访问的属性的值的时候调用).

    62320

    《MySQL入门很轻松》第3章:数据库的创建与操作

    (2)每行为各种记录名称。 (3)每列为记录名称所对应的数据域。 (4)许多的行和列组成一张表单。 (5)若干的表单组成数据库。...(1)数据表:数据库中的数据表与我们日常生活中使用的表格类似,由列和行组成。其中,每一列代表一个相同类型的数据。...(4)复合键:复合键(组合键)将多个列作为一个索引键,一般用于复合索引。 (5)索引:使用索引可快速访问数据库表中的特定信息。索引是对数据库表中一列或多列的值进行排序的一种结构,类似于书籍的目录。...(6)视图:视图看上去同表相似,具有一组命名的字段和数据项,但它其实是一个虚拟的表,在数据库中并不实际存在。视图是由查询数据库表或其他视图产生的,它限制了用户能看 到和修改的数据。...(2)列(col):具有相同数据类型的数据的集合。 (3)行(row):每一行用来描述某条记录的具体信息。 (4)值(value):行的具体信息,每个值必须与该列的数据类型相同。

    1.3K30

    php面试题及答案

    正常情况下返回var中的元素或属性个数。 2 请说明php.ini中的safe_mode开启之后影响了哪些函数 答案:Safe_mode是php的安全模式。...请举例说明各自的用法 __construct() :构造方法,当一个对象创建时调用此方法,使用此方法的好处是:可以使构造方法有一个独一无二的名称,无论它所在的类的名称是什么.这样你在改变类的名称时,就不需要改变构造方法的名称...>会话控制的时候会用到 5 说几个你知道的设计模式 单例模式: 保证一个类仅有一个实例,并提供一个访问他的全局访问点例如框架中的数据库连接 策略模式: 针对一组算法,将每一个算法封装到具有共同接口的独立的类中...当可观察的对象更改时,它会将消息发送到已注册的观察者。...快速访问数据表中的特定信息,提高检索速度 创建唯一性索引,保证数据库表中每一行数据的唯一性。

    2.2K40

    什么是数据库?MySQL 教程

    数据表: 表是数据的矩阵。在一个数据库中的表看起来像一个简单的电子表格。 列: 一列(数据元素) 包含了相同类型的数据, 例如邮政编码的数据。...行:一行(=元组,或记录)是一组相关的数据,例如一条用户订阅的数据。 冗余:存储两倍数据,冗余降低了性能,但提高了数据的安全性。 主键:主键是唯一的。一个数据表中只能包含一个主键。...外键:外键用于关联两个表。 复合键:复合键(组合键)将多个列作为一个索引键,一般用于复合索引。 索引:使用索引可快速访问数据库表中的特定信息。索引是对数据库表中一列或多列的值进行排序的一种结构。...: 表头(header): 每一列的名称; 列(col): 具有相同数据类型的数据的集合; 行(row): 每一行用来描述某条记录的具体信息; 值(value): 行的具体信息, 每个值必须与该列的数据类型相同...; 键(key): 键的值在当前列中具有唯一性。

    2.6K20

    考前复习必备MySQL数据库(关系型数据库管理系统)

    每个数据库都有一个或多个不同的api用于创建,访问,管理,搜索,复制所保存的数据。 将数据存储在文件中,但是在文件中读写数据速度相对较慢。 术语 数据库是一些关联表的集合。 数据表是数据的矩阵。...列,一列包含了相同类型的数据。 行,一行是一组相关的数据。 冗余,存储两倍数据,冗余降低了性能,但提高了数据的安全性。 主键,是唯一的,一个数据表中只能包含一个主键。 外键,用于关联两个表。...表头为每一列的名称,列为具有相同数据类型的数据的集合,行为每一行用来描述某条记录的具体信息,值为行的具体信息,每个值必须与该列的数据类型相同,键的值在当前列中具有唯一性。...Update 语句用于修改表中的数据。 UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值 DELETE 语句用于删除表中的行。...数据表中,一行称为一条记录,一列称为一个字段。 主键:唯一标识此条记录。

    6K10

    php 反序列漏洞初识

    什么是序列化 首先这个东西在 PHP 网站中的定义: 所有 php 里面的值都可以使用函数 serialize() 来返回一个包含字节流的字符串来表示。...先看个 dome 代码,了解一下 PHP 序列化中的字符串。 的私有成员具有加入成员名称的类名称;受保护的成员在成员名前面加上 '*'。这些前缀值在任一侧都有空字节。 ? 所以在传入序列化字符串的时候,需要补齐这些空字节。...2.利用普通成员方法 在反序列化的时候,当漏洞/危险代码存在类的普通方法中,就不能指望通过“自动调用”来达到目的了。这时的利用方法如下,寻找相同的函数名,把敏感函数和类联系在一起。 <?...payload 4、将序列化之后的 payload 发送到有漏洞 web 应用中进行测试.

    1.2K00

    PHP核心技术与最佳实践(二)

    同时把复杂的JOIN查询拆分成多个Query。因为JOIN多个表时,可能导致更多的锁定和堵塞。...查询的序列号 select_type:查询的类型,主要包括普通查询、联合查询和子查询 table:所访问的数据库中表的名称 type:联合查询使用的类型:由好到坏依次为system(系统表)、const...进行排序,可以构建具有优先级的队列 5.Hash:key对应一个HashTable,适合存储对象 B.事务处理 1.只能保证一个客户端连接发起事务中的命令可以连续执行,而中间不会插入其他客户端连接的命令...,尽量缩写; 2.类及接口命名:类,以大写字母开头,多个单词驼峰,与文件名保持一致,程序中唯一,抽象类以Abstract开头;接口,和类相同的规则,但命名前加i字符,尽量保持和实现它的类命名一致; 3....; 2.语句断行:保证程序语句一行就是一句,尽量不要使一行的代码太长保持在80个字符以内,如果太长使用.

    1K20

    关于图片或者文件在数据库的存储方式归纳

    一、图片以二进制形式直接存储在数据库中 第一种存储实现(php语言): 大体思路: 1、将读取到的图片用php程序转化成二进制形式。...使用php函数serialize进行序列化的值,我看到有人存入这个字段中去。 php手册:serialize返回字符串,此字符串包含了表示 value 的字节流,可以存储于任何地方。...php不直接操作数据库,而是调用java提供的数据接口,获取数据,马上展示在页面中。这是利用了php的页面执行速度快的一个优势。...这样子是为了避免文件名重复,多个人往同一个目录上传图片的时候会出现。 反正用什么样的规则命名图片,只要做到图片名称的唯一性即可。 比如网站的并发访问量大,目录的生成分得月细越好。...因为时间戳是精确到秒的。为了做到图片名称唯一性而不至于覆盖,生成可以在在时间戳后面继续加毫秒微秒等。总结的规律是,并发访问量越大。就越精确就好了。 我现在还没碰到需要这么精细的。概率比较少。

    9.7K20

    PHP面试-复习知识点整理

    类中必须实现接口中定义的所有方法,否则会报一个致命错误。类可以实现多个接口,用逗号来分隔多个接口的名称。 实现多个接口时,接口中的方法不能有重名。...远程访问 php.ini 中打开 allow_url_fopen 配置,http协议只能使用只读,ftp协议,只能只读或只写 目录操作 名称相关 basename() 文件基础名称 dirname...MySQL锁机制 当多个查询同一时刻进行数据修改时,会产生并发控制的问题 共享锁(读锁) 排他锁(写锁) 锁粒度 表锁 系统性能开销最小,会锁定整张表,myisam使用表锁 行锁...,5.5可以使用列分区 分区字段中如果有主见和唯一索引列,那么主键和唯一列都必须包含进来 分区表中无法使用外键约束 需要对现有表的结构进行改变 所有分区都必须使用相同的存储引擎...一个线程可以创建和撤消另一个线程,同一进程中的多个线程之间可以并发执行。 线程是程序中一个单一的顺序控制流程。

    1.1K20

    Unity网络交互☀️Unity Web弱联网的实现

    Unity界面实现效果: 上两行:输入用户名、密码 注册:将输入的用户名、密码发送到数据库 显示:从数据库获取数据显示在下方 注意: 默认已设好PHP运行的相关Web环境: 1、Apache 2、MySQL...3、PHP MySQL端 1、链接数据库,新建一个名为myscoresdb的数据库 2、创建如下图所示Table表,并添加如下三条数据 Unity端代码 1️⃣ C# 挂在到游戏物体上,注意给代码赋值对应的输入文本框和输出显示用的文本框...php //连接数据库,输入地址,用户名,密码和数据库名称 $myData=mysqli_connect("localhost","你的账号","你的密码","myscoresdb"); if(mysqli_connect_errno...php //连接数据库,输入地址,用户名、密码和数据库名称 $myData= mysqli_connect("localhost","你的账号","你的密码","myscoresdb"); if(mysqli_connect_errno.../php_mysql_select.asp //* 字符选取表中所有数据 //order by,排序:http://www.w3school.com.cn/php/php_mysql_order_by.asp

    21010

    初识 MongoDB 和 .NET Core 入门

    MongoDB 与关系型数据库 由于 MongoDB 中,没有表、行、列,因此初学 MongoDB 时可能会有困扰,这里给出一些 MongoDB 与 普通SQL数据库对应的术语。...SQL术语/概念 MongoDB术语/概念 解释/说明 database database 数据库 table collection 数据库表/集合 row document 数据记录行/文档 column...另外 MongoDB 有很多实用工具:https://docs.mongodb.com/tools/ 文档 MongoDB 中的文档(Document)即关系型数据库中的一条记录(row)、一行数据。...但, MongoDB 中,一个集合(Collection-Table)中,是不需要具有相同字段的。...支持 json 格式导入;类似 json 的数据结构;能够很容易还原对象的属性,一次性存储数据;如果使用传统数据库,则需要建立多个表并设置主键外界关系。 集群。

    1.2K20

    数据库MySQL——初识

    4 数据库服务器、数据管理系统、数据库、表与记录的关系 记录:1 朱葛 13234567890 22(多个字段的信息组成一条记录,即文件中的一行内容) 表:userinfo,studentinfo,courseinfo...数据不共享:一组数据只对应一个程序,多个程序之间涉及相同数据时,必须各自定义,造成数据大量冗余 4 数据不具有独立性:数据的逻辑结构或物理结构发生变化后,必须对应用程序做出相应的修改,开发负担进一步加大...文件系统管理数据具有以下缺点: 1 数据共享性差,冗余度大:一个文件对应一个应用程序,不同应用有相同数据时,也必须建立各自的文件,不能共享相同的数据,造成数据冗余,浪费空间,且相同的数据重复存储,各自管理...数据表: 表是数据的矩阵。在一个数据库中的表看起来像一个简单的电子表格。 列: 一列(数据元素) 包含了相同的数据, 例如邮政编码的数据。...如果要查询一个学生所在系的名称,必须从student表中查找学生所在院系的编号(dept_id),然后根据这个编号去department查找系的名称。

    33510
    领券