2021-05-10 PHP查询大量数据内存耗尽问题的解决方法 PHP查询大量数据内存耗尽问题的解决方法 从数据库查询大量数据时会出现内容不够的提示:PHP Fatal error: Allowed memory size of 268 435 456 bytes exhausted 这个问题在PHP的官方网站上叫缓冲查询和非缓冲查询(Buffered and Unbuffered queries)。PHP的查询缺省模式是缓冲模式。也就是说,查询数据结果会一次全部提取到内存里供PHP程序处理。这样给了PHP程序额外的功能,比如说,计算行数,将指针指向某一行等。更重要的是程序可以对数据集反复进行二次查询和过滤等操作。但这种缓冲查询模式的缺陷就是消耗内存,也就是用空间换速度。相对的,另外一种PHP查询模式是非缓冲查询,数据库服务器会一条一条的返回数据,而不是一次全部返回,这样的结果就是PHP程序消耗较少的内存,但却增加了数据库服务器的压力,因为数据库会一直等待PHP来取数据,一直到数据全部取完。很显然,缓冲查询模式适用于小数据量查询,而非缓冲查询适应于大数据量查询。对于PHP的缓冲模式查询大家都知道,下面列举的例子是如何执行非缓冲查询API。非缓冲查询方法一: mysqli<?ph... 2021年05月10日 931 阅读 0 评论
2021-01-04 PHP面向对象封装MySQL操作函数、文件上传 PHP面向对象封装MySQL操作函数、文件上传 Mysql.class.php<?php class Mysql { public $link; public function __construct() { $this->conn(); } /** * 连接数据库,从配置文件读取配置信息 */ public function conn() { $cfg = require 'config.php'; $this->link = new mysqli($cfg['host'], $cfg['name'], $cfg['password'], $cfg['databaseName'], $cfg['port']); $this->query('set names ' . $cfg['charset']); } /** * 发送query查询 * @param string $sql sql语句 * @return m... 2021年01月04日 1,178 阅读 0 评论
2020-12-05 MySQL中varchar与char的区别 MySQL中varchar与char的区别 区别一,定长和变长char 表示定长,长度固定,varchar表示变长,即长度可变。char如果插入的长度小于定义长度时,则用空格填充;varchar小于定义长度时,还是按实际长度存储,插入多长就存多长。因为其长度固定,char的存取速度还是要比varchar要快得多,方便程序的存储与查找;但是char也为此付出的是空间的代价,因为其长度固定,所以会占据多余的空间,可谓是以空间换取时间效率。varchar则刚好相反,以时间换空间。区别之二,存储的容量不同对 char 来说,最多能存放的字符个数 255,和编码无关。而 varchar 呢,最多能存放 65532 个字符。varchar的最大有效长度由最大行大小和使用的字符集确定。整体最大长度是 65,532字节。 2020年12月05日 770 阅读 0 评论
2020-12-02 PHP 封装MySQL操作函数、魔术常量、封装函数 PHP 封装MySQL操作函数、魔术常量、封装函数 mysql.php<?php /** * mysql.php mysql系列操作函数 * @author nianbaibai */ /** * 连接数据库 * * @return resource 连接成功,返回连接数据库的资源 */ function mConn() { static $conn = null; if ($conn === null) { $db = require ROOT . '/lib/config.php'; $conn = mysqli_connect("$db[host]", "$db[name]", "$db[password]", "$db[databaseName]", "$db[port]"); mysqli_query($conn, 'set names ' . $db['charset']); } return $conn; } /... 2020年12月02日 917 阅读 0 评论
2020-11-16 解决Fatal error: Uncaught Error: Call to undefined function mysql_connect() in ... 解决Fatal error: Uncaught Error: Call to undefined function mysql_connect() in ... 因为mysql_connect()从PHP5.5开始就不在支持了,所以PHP5.5以上的需要用mysqli_connect()!平常的连接数据库PHP代码:<?php $con=mysql_connect('localhost','root','mm'); if($con) { echo 'link ok'; }else { echo 'error'; } ?> 这里mysql_connect()这个函数不在使用,不要在跟着网上修改php.ini文件了,改成mysqli_connect()就可以了,mysql加个i,修改为:<?php $con=mysqli_connect('localhost','root','mm'); if($con) { echo 'link ok'; }else { echo 'error'; } ?> 2020年11月16日 1,281 阅读 0 评论
2020-11-16 MySQL数据库常用命令 MySQL数据库常用命令 一、操作技巧1、如果你打命令时,回车后发现忘记加分号,你无须重打一遍命令,只要打个分号回车就可以了。 也就是说你可以把一个完整的命令分成几行来打,完后用分号作结束标志就OK。2、你可以使用光标上下键调出以前的命令。3、where需要查询多个字段,可以用and,同一个字段的多个值作为条件来查询可以使用in或者or。1、select * from test where id=1 and t_id=1 2、select * from test where id in (1,2,3) 3、select * from test where id = 1 or id =2 or id = 3 二、常用命令1、显示当前数据库服务器中的数据库列表: mysql> SHOW DATABASES; 注意:mysql库里面有MYSQL的系统信息,我们改密码和新增用户,实际上就是用这个库进行操作。2、显示数据库中的数据表: mysql> USE 库名; mysql> SHOW TABLES;3、显示数据表的结构: mysql> DESCRIBE 表名;4、建立数据库: mysq... 2020年11月16日 817 阅读 0 评论
2020-01-02 xampp(Apache+MySQL+PHP+PERL)本地服务器 xampp(Apache+MySQL+PHP+PERL)本地服务器 XAMPP是一个易于安装且包含MySQL、PHP和Perl的建站集成软件包。XAMPP中文版软件操作简单,功能强大,我们只需要在本站下载解压后就可以安装使用。XAMPP软件支持不同的版本以及语言,帮助大家快速简便的建立服务器。XAMPP此版本由phpStudy作者重新编译,精简掉五分之四,安装包只有35M。原xampp解压后1250M,去臃肿精简掉990M仅剩250M。对控制面板进行大幅优化更新, 放弃掉旧版本许多无用的鸡肋功能。增加 PHP5.3、PHP5.5和PHP7.0一键切换。将程序汉化修改,增加部分功能。将apache升级到新版2.4.10,php升级到7.0.1。mysql升级到5.6.21,tomcat升级到7.0.56。程序包35M,解压后,启动即可,易于安装和设置。V7.3.1下载地址:http://onlinedown.rbread04.cn/huajunsafe/xamppinstaller.exeV8.0下载地址:https://safe.51xiazai.cn/huajunsafe/xampp8.0.0.1.rar 2020年01月02日 816 阅读 0 评论