-
PHP查询MySQL大量数据的时候内存占用分析
本文为大家讲解的是PHP查询MySQL大量数据的时候内存占用分析,感兴趣的同学参考下。 这篇文章主要是从原理, 手册和源码分析在PHP中查询MySQL返回大量结果时, 内存占用的问题, 同时对使用MySQL C API也有涉及. 昨天, 有同事在PHP讨论群里提到, 他做的一个项目由于MySQL查询返回的结果太多(达10万条), 从而导致PHP内存不够用. 所以, 他问, 在执行下面的代码遍历返回的MySQL结果之前, 数据是否已经在内存中了? - while ($row = mysql_fetch_assoc($result)) { // ... } 当然, 这种问题有许多优化的方法. 不过, 就这个问题来讲, 我首先想到, MySQL是经典的C/S(Client/Server, 客户端/服务器)模型, 在遍历结果集之前, 底层的实现可能已经把所有的数据通过网络(假设使用TCP/IP)读到了Client的缓冲区, 也有另一种可能, 就是数据还在Server端的发送缓冲区里, 并没有传给Client. 在查看PHP和MySQL的源码之前, 我注意到PHP手...
PHP 2014-12-27 13:48:04 -
php mysql_real_escape_string函数用法与示例
本文为大家讲解的是php 的mysql_real_escape_string函数用法与示例,感兴趣的同学参考下. mysql_real_escape_string() 函数用来转义SQL语句中使用的字符串中的特殊字符 转义特殊字符在unescaped_string,考虑到当前字符的连接设置,以便它在的地方是安全的在mysql_query()它。如果二进制数据要插入,这个函数必须被使用 下列字符受影响: x00 n r ' " x1a 如果成功,则该函数返回被转义的字符串...
PHP 2014-12-27 13:24:04 -
PHP+Mysql实现多关键字与多字段生成SQL语句的函数
本文为大家讲解的是PHP+Mysql实现多关键字与多字段生成SQL语句的函数,涉及字符串与数组的操作,是构造SQL语句非常实用的技巧,需要的朋友可以参考下 先看实例: $keyword="1 2 3"; echo $sql=search($keyword,"enter_gongyin_pic","a+b+c"); //函数生成,没有LIMIT,没有ORDER BY 生成: SELECT * FROM `enter_gongyin_pic` WHERE `a` LIKE '%1%' OR `a` LIKE '%2%' OR `a` LIKE '%3%' OR `b` LIKE '%1%' OR `b` LIKE '%2%' OR `b` LIKE '%3%' OR `c` LIKE '%1%' OR `c` LIKE '%2%' OR `c` LIKE ...
PHP 2014-12-26 10:36:05 -
php数据入库前清理 注意php intval与mysql的int取值范围不同
本文为大家讲解的是php数据入库前清理 注意php intval与mysql的int取值范围不同,需要的朋友可以参考下。 php保存数据到mysql 打算在dao层进行数据入库前的清理,比如varchar进行trim,int进行intval...
PHP 2014-12-26 07:03:03 -
Mac下通过Homebrew安装MySQL方法
本文为大家讲解的是在Mac下通过Homebrew安装MySQL的方法,感兴趣的同学参考下。 Mysql简介 MySQL是一个开放源码的小型关联式数据库管理系统,开发者为瑞典MySQL AB公司...
数据库操作教程 2014-12-25 19:57:07 -
PHP 使用MySQL管理Session的回调函数详解
本文为大家讲解的是PHP 使用MySQL管理Session的回调函数详解,感兴趣的同学参考下。 <?php class MySession extends DBSQL { /** * __construct() */ public function __construct() { parent::__construct (); } /** * open() * * @param <String> $sSavePath * @param <String>$sSessionNames * * @return <Boolean> true &...
PHP 2014-12-23 07:42:14 -
php中使用session_set_save_handler()函数把session保存到MySQL数据库实例
本文为大家讲解的是php中使用session_set_save_handler()函数把session保存到MySQL数据库实例方法,感兴趣的同学参考下. PHP保存session默认的是采用的文件的方式来保存的,这仅仅在文件的空间开销很小的windows上是可以采用的,但是如果我们采用uinx或者是liux上的文件系统的时候,这样的文件系统的文件空间开销是很大的,然而session是要时时刻刻的使用的,大量的用户就要创建很多的session文件,这样对整个的服务器带来性能问题。 另一方面,如果服务器起采用群集的方式的话就不能保持session的一致性,所以我们就绪要采用数据库的方式来保存session,这样,不管有几台服务器同时使用,只要把他们的session保存在一台数据库服务器上就可以保证session的完整了,具体如何来实现请继续看下去...
PHP 2014-12-23 06:48:03 -
MySQL 1067 错误产生的原因及解决方法
本文为大家讲解的是MySQL 1067 错误产生的原因及解决方法,感兴趣的同学参考下。 问题描述 启动MySQL时报了个1067错误,起不起来,错误信息如图 在本地计算机无法启动mysql服务...
数据库操作教程 2014-12-22 20:48:09 -
mysqldump: unknown option '--no-beep' 错误解决方法
本文为大家讲解的是使用mysqldump导出数据时错误: unknown option '--no-beep' 的解决方法,感兴趣的同学参考下。 问题描述 今天用 mysqldump 命令备份数据库时,出现了问题,截图如下: 估计是版本的问题,我新装的 5.6 的,以前用的是 5.1 的,从来没出过问题...
数据库操作教程 2014-12-22 20:33:10 -
php获取mysql字段名称和其它信息的例子
本文是一个php获取mysql字段名称和其它信息的例子,感兴趣的同学参考下. 首先我们需要了解下查询MySQL数据库/表相关信息的SQL语句: SHOW DATABASES //列出 MySQL Server 数据库。 SHOW TABLES [FROM db_name] //列出数据库数据表...
PHP 2014-12-22 07:30:04 -
编译PHP报错configure error Cannot find libmysqlclient under usr的解决方法
本文为大家讲解的是linux下编译PHP报错configure error Cannot find libmysqlclient under usr的解决方法,感兴趣的同学参考下。 今天在64位Red Hat Enterprise Linux AS release 4 .7上编译PHP5.2.6出错,mysql是使用的RPM方式安装的,PHP编译代码如下: ./configure --prefix=/usr/local/php --with-mysql --with-apxs2=/usr/local/apache/bin/apxs --with-openssl --with-curl --enable-xml --with-mcrypt --with-ttf --enable-magic-quotes --enable-fastcgi --enable-mbstring --with-iconv --enable-mbstring --with-gd --with-jpeg-dir --with-png-dir --with-zlib-dir --enable-sy...
PHP 2014-12-21 20:12:16 -
Windows下部署Apache+PHP+MySQL运行环境实战
本文是一个Windows下部署Apache+PHP+MySQL运行环境的教材,感兴趣的同学参考下。 官方下载地址: MySQL http://www.mysql.com/downloads/mysql/ 找个MSI文件下下来. Apache http://httpd.apache.org/download.cgi Php http://windows.php.net/download/#php-5.4 首先是MySQL,(这边吐槽一下被Oracle收购的MySQL) 一步一步往下,无需更多的配置 然后安装Apache, 也是一步一步往下 安装PHP,(我偷懒我自豪, 在PHP下载页面找那个Installer的文件.......吐槽可能不是最新的版本= =~) 下载页面 安装注意 其他要记住的: 其实上面的都是扯皮,下面的才是我想记的 1.PHP和IIS结合注意 在IIS Manager编辑这个值 2.PHP和Apache结合...
PHP 2014-12-21 19:09:11