TypechoJoeTheme

至尊技术网

统计
登录
用户名
密码
/
注册
用户名
邮箱
搜索到 17 篇与 的结果
2025-06-12

PHPMySQL与MySQLi:持久化连接(长连接)的差异与比较

PHPMySQL与MySQLi:持久化连接(长连接)的差异与比较
一、基本概念与原理持久化连接(长连接)是指一种数据库连接,在第一次建立后,会保持活动状态一段时间(由系统参数如max_persistent_links定义),以便后续的请求可以复用该连接,而无需重新建立新的连接。这可以显著减少建立和关闭连接的次数,从而提升应用性能和资源利用率。二、MySQL与MySQLi实现差异1. 连接建立方式 MySQL扩展:早期PHP提供的数据库扩展,其建立持久化连接的方式较为直接,主要通过mysql_pconnect()函数实现。此方法较为简单,但在PHP 5.5.0后被废弃,因为其不兼容线程安全设置且不支持面向对象编程。 MySQLi扩展:作为MySQL的改进版,提供面向对象的接口和更强的功能。通过mysqli_connect()或mysqli::__construct()方法支持持久化连接。它支持更多的配置选项和错误处理机制,且符合现代PHP开发的需求。 2. 资源管理与性能优化 MySQL:在PHP 5.5.0之前的版本中,由于没有提供足够的资源管理机制,开发者需要手动管理连接的开启和关闭,这可能导致内存泄漏或性能瓶颈。虽然可以通过配置文件控制最大...
2025年06月12日
4 阅读
0 评论
2025-05-31

不依赖Global.asa的在线人数统计实现方案

不依赖Global.asa的在线人数统计实现方案
1. 数据库设计首先,在MySQL数据库中创建一个表来记录用户的会话信息。该表可以包含以下字段: - id(主键,自增) - session_id(用户的会话ID) - start_time(会话开始时间) - end_time(会话结束时间,初始可为NULL) - status(会话状态,如“active”表示在线,“inactive”表示已关闭)sql CREATE TABLE user_sessions ( id INT AUTO_INCREMENT PRIMARY KEY, session_id VARCHAR(255), start_time DATETIME, end_time DATETIME, status ENUM('active', 'inactive') DEFAULT 'active' );2. 更新用户状态每当用户访问网站时,PHP脚本会更新该用户的start_time为当前时间,并将status设为“active”。当用户关闭浏览器或会话超时时,脚本会更新end_time为当前时间并将status设为“inact...
2025年05月31日
14 阅读
0 评论
2025-02-25

个人发卡网源码

个人发卡网源码
引言随着电子商务的快速发展,在线销售电子卡券(如游戏充值卡、购物卡等)成为了一种新兴的商业模式。个人发卡网作为这一模式的代表,受到越来越多创业者的关注。本文将分享个人发卡网的源码,实现方式及相关技术,以供有需要的开发者参考。项目概述个人发卡网主要功能是提供线上充值卡的购买、管理和分发服务。用户可以在平台上购买各种类型的电子卡券,商家可以通过后台管理系统管理商品,查看订单,并且进行数据统计分析。技术架构本项目采用 LAMP 结构进行搭建,具体使用了以下技术: 操作系统:Linux 服务器:Apache 数据库:MySQL 开发语言:PHP 前端框架:HTML、CSS、JavaScript(可结合Bootstrap等框架实现响应式设计) 功能模块 用户管理 用户注册、登录和找回密码功能。 用户信息管理,包括实名认证、邮箱绑定等。 商品管理 管理员可以添加、编辑、删除商品。 商品分类管理,支持多级分类。 订单管理 用户可以查看个人订单,订单状态跟踪。 管理员可以查看所有订单及其详细信息,支持订单的发货与退款。 支付接口 集成多种支付方式,如支付宝、微信支付等。 支...
2025年02月25日
174 阅读
0 评论
2025-02-20

搭建自己的翼支付系统:从零到一的全攻略

搭建自己的翼支付系统:从零到一的全攻略
1. 前期准备与需求分析在开始搭建之前,首先需明确翼支付系统的核心功能需求,如用户注册登录、商品管理、订单创建与处理、支付接口集成、交易记录查询等。同时,考虑系统的扩展性、安全性及维护的便捷性。2. 技术选型与工具准备 后端框架:Java Spring Boot,因其快速开发、易于部署的特性,非常适合初创项目。 数据库:MySQL,开源且性能稳定,满足大多数中小型支付系统的需求。 开发工具:IntelliJ IDEA 或 Eclipse,提供强大的代码编辑与调试功能。 安全措施:SSL/TLS加密、API访问控制(如OAuth2)、数据加密存储等。 第三方支付API:根据国家/地区政策选择合适的支付网关(如支付宝、微信支付等),并熟悉其API接口。 3. 系统设计与数据库设计 系统架构:采用MVC(Model-View-Controller)模式,实现业务逻辑与界面展示的分离。 数据库设计:设计用户表(User)、商品表(Product)、订单表(Order)、交易记录表(Transaction)等,确保数据一致性和完整性。 API设计:RESTful API,便于前端和移动端调...
2025年02月20日
129 阅读
0 评论
2022-12-28

MySQL 小数类型

MySQL 小数类型
定点数decimal能够保证数据精确的小数(小数部分可能不精确,超出长度会四舍五入),整数部分一定精确decimal(M, D), M表示总长度,最大值不能超过65,D代表小数部分长度,最长不能超过30浮点型又称为精度类型,是一种可能丢失精度的数据类型,数据可能不那么准确float 单精度类型4字节存储,7位精度,表示数据范围比整数大得多float 表示不指定小数位的浮点数float(M, D)表示一共存储M个有效数字,其中小数部分占D位double 双精度类型8个字节存储,表示范围更大,精度有15位左右double 表示不指定小数位的浮点数double(M, D)表示一共存储M个有效数字,其中小数部分占D位如何选择当需要存储的小数对精度要求不高时,可以选择FLOAT单精度浮点型,可以节省内存空间,提高计算速度。当需要进行高速数学计算、科学计算、卫星定位计算等对精度要求较高时,可以选择DOUBLE双精度浮点型。当需要进行精确计算,如工资结算、转账打款等财务类型的数据,可以选择DECIMAL定点型。
2022年12月28日
1,802 阅读
0 评论
2022-06-10

PHP面向对象封装MySQL PDO(已使用预处理)

PHP面向对象封装MySQL PDO(已使用预处理)
Mysql.class.php<?php class Mysql { public $link; public function __construct() { $this->conn(); } /** * 连接数据库,从配置文件读取配置信息 */ public function conn() { $cfg = require 'config.php'; try { $this->link = new PDO("mysql:dbname={$cfg['databaseName']};host={$cfg['host']};charset={$cfg['charset']};port={$cfg['port']}", $cfg['name'], $cfg['password']); $this->link->setAttribute(PDO::ATTR_EMU...
2022年06月10日
841 阅读
0 评论
2021-08-14

PHP防止SQL注入

PHP防止SQL注入
SQL注入的万能语句' or 1=1#当我们在用户名处输入' or 1=1#,密码随便写,把它带入到语句中,就变成了select * from user where uername='' or1=1#' and password='123456' 在SQL语句中#是注释符,所以后面的语句都会被注释掉select * from user where username='' or1=1 也就是说可以用 'or 1=1# 这么一个字符串就可以绕开登录的密码,直接进入程序,防止这种情况出现,可以使用以下的预处理机制!使用 PDO1、通过传递一个插入值的数组执行一条预处理语句$st = $db->prepare('select * from zz_order where id = ? and name = ?'); $st->execute([$id,$name]);// 成功时返回 true,失败时返回 false $data = $st->fetch(PDO::FETCH_ASSOC); print_r($data); 2、在 prepare 函数里面把参数用 ‘:n...
2021年08月14日
905 阅读
0 评论
2021-08-05

mysql插入数字都变成2147483647的解决方法

mysql插入数字都变成2147483647的解决方法
在用Excel导入数据的时候,碰到11位的数字都变成2147483647,原因是int类型的数据,最大只能到2147483647,所以11位的都变成了2147483647,解决办法:把字段类型由int改为bigint,就可以了.下面是mysql的数据类型详解1.整型(xxxint)MySQL数据类型含义tinyint(m)1个字节表示(-128~127)smallint(m)2个字节表示(-32768~32767)mediumint(m)3个字节表示(-8388608~8388607)int(m)4个字节表示(-2147483648~2147483647)bigint(m)8个字节表示(+-9.22*10的18次方)2.浮点型(float和double)MySQL数据类型含义float(m,d)单精度浮点型,8位精度(4字节),m是十进制数字的总个数,d是小数点后面的数字个数double(m,d)双精度浮点型,16位精度(8字节)参数m只影响显示效果,不影响精度,d却不同,会影响到精度。比如设一个字段定义3.定点数(decimal) decimal(m,d) 定点类型浮点型在数据...
2021年08月05日
1,032 阅读
0 评论