PHP

PHP SESSION会话详解

什么是PHPSESSION会话?Session(会话) 是服务器端存储用户临时数据的一种机制,用于跟踪用户在网站上的活动状态。与Cookie存储在客户端不同,Session数据完全存储在服务器端,客户端只是通过Cookie保存一个Session ID作为访问凭证。Session(会话一般有以下几个步骤):Session数据要么存放在Session文件里,要么存放在数据库。下面,我们将学

PHP 连接MySQL详解

本节我们将详细介绍如何通过PHP连接我们的数据库。总的来说,我们有三种方法来连接我们的数据库。下面我们通过一张表格来总览一下具体有哪些方法:方式特点PHP版本推荐度PDO支持多种数据库、防SQL注入、面向对象PHP 5.1+最推荐MySQLi只支持MySQL、性能较好PHP 5.0+推荐mysql扩展已废弃,不要使用PHP 5.5废弃不要用我们主要讨论PDO(php database object

PHP 处理JSON数据详解

JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,它采用完全独立于编程语言的文本格式来存储和传输数据,本质是字符串。服务器和客户机主要通过JSON格式来进行数据传输。1. 当服务器需要输出数据时,我们可以使用json_encode()函数将PHP数据转为JSON字符串:json_encode()函数的语法格式如下:stringjson_enco

PHP MySQL表格一次性插入多条数据详解

本节我们学习如何通过PHP向MySQL表格一次性插入多条数据。1. PDO:通过扁平化数组将用户信息放在一个数组里,然后通过预处理语句一次性执行所有sql操作。先看看PDO_db数据库中dotcpp_users表格情况:有7个用户,现在我们一次性增加3个用户。<?php$host='localhost';$dbname=&#

PHP MySQL条件子句(where)详解

本节我们主要介绍如何通过条件子句where来进行查询数据过滤。1. where的语法格式如下:SELECTcolumn1,column2,...FROMtable_nameWHEREcondition;其中,where 是关键字,表示条件子句的开始。它在不同语句中有不同的功能:1.1 在 select 语句中:位于 from子句之后,

PHP Cookie详解

本节将详解讲解PHP中的cookie。什么是cookie?由于HTTP协议本身是无状态的,每次请求都是独立的,服务器无法识别连续的请求是否来自同一用户。这导致无法实现购物车、用户登录等需要保持状态的功能。为了解决这个问题,网景公司在1994年发明了Cookie技术,通过在客户端存储小量数据来实现会话跟踪。在现代Web开发中,通常结合使用Cookie和Session技术,其中Cookie存储Sess

PHP MySQL 预备语句(Prepared)详解

我们可以通过预备语句来操作数据库,能够有效避免SQL注入。实现思路:准备一个用“?”占位的SQL语句->通过预备语句对SQL语句进行编译->绑定参数后直接执行sql语句这里我们分别演示PDO和MySQLi通过预备语句为dotcpp_users添加单挑数据(上一节我们总共添加至10名用户)。1.PDO:<?php/*使用PDO连接PDO_db数据库并创建表格*///

PHP(5.4+) OOP trait:高效的代码复用机制

什么是PHPtrait?在PHP中,trait是一种代码复用机制,它用于解决 PHP 单继承的限制,我们可以理解为"代码片段",能够被多个类复用,是一种水平代码复用的方式。为什么会有PHPtrait?PHP 5.4之前,一直都是单继承方式。比如我们有一个父类Base,一个子类Son,子类通过extends继承父类,通过PHP描述为:<?php&nb

PHP 创建MySQL表格并插入数据详解

本节我们将会学习如何通过PHP操作PDO和MySQLi创建MySQL表格。在上一节里,我们就准备了PDO_db和MySQLi_db两个数据库,本节我们将会在两个数据库里分别插入一张dotcpp_users表格。1. PDO在PDO_db数据库下创建一张dotcpp_users表:步骤:连接数据库->exec()方法创建表格dotcpp_users->插入数据(这里有技巧,通过PDOSt

PHP MySQL获取最后自增键(AUTO_INCREMENT)ID详解

对于MySQL表格来说,存在一个字段为自增键(AUTO_INCREMENT),如果对该表格进行insert或则update操作,我们就可以通过PDO或者MySQLi来获取最后插入记录的ID。值得注意的是,重新连接数据库会造成重置连接状态,所以我们需要额外插入一条数据才能获取最后一次自增键的ID。还记得上一节我们分别对PDO_db和MySQLi_db两个数据库插入表dotcpp_users吗?其中i