标签归档:php

php 判断数组键值是否存在 array_key_exists() 与 isset()

php使用array_key_exists() 与 isset() 来判断数组中的某个键值是否存在。一起看下使用方法: array_key_exists (PHP 4 >= 4.0.7, PHP 5) array_key_exists — 检查给定的键名或索引是否存在于数组中 说明 bool array_key_exists ( mixed $key , array $search ) array_key_exists() 在给定的 key 存在于数组中时返回 TRUE。key 可以是任何能作为数组索引的值。array_key_exists() 也可用于对象。 Example #1 ar … 阅读全文

php mysql分页大数据查询方案大数据优化

如何将分页SQL做到更优化,让MySQL执行的更快的方法。 一般的情况下,我们的分页SQL语句是这样的: SELECT * FROM table ORDER BY id LIMIT 1000,10; 以上SQL语句在原理上和在实际操作中是不会存在什么问题,但是当table表的数据量达到几十万以上的时候,上面的语句执行一遍,可能会要执行个十几秒的时间,并且当页数越靠后的话,执行的时间会越长,这个时候我们就需要找到一种更快的查询办法来替代这种操作了。 网上已经有很多优化的方法,基本都是这样的: SELECT * FROM table WHERE id >= (SELECT id FROM t … 阅读全文

b>Warning: Unknown: write failed: No space left on device (28) in Unknown on line <

php mysql  b>Warning</b>:  Unknown: write failed: No space left on device (28) in <b>Unknown</b> on line  未知:写失败:设备没有剩余空间 。导致此错误的原因为设备剩余空间不足。 使用命令查看系统空间使用情况 root@Master:~# df -h 发现文件系统已使用100%,删除该文件系统下的无用文件即可。      

Fatal error Maximum execution time of 30 seconds exceeded in 解决办法

php mysql 查询错误提示 :Fatal error Maximum execution time of 30 seconds exceeded in … 的解决办法如下: 报错一:内存超限,具体报错语句忘了,简单说一下解决办法。 利用循环分批导入; 每个循环内部开始处使用sleep(5);语句,做延迟执行,防止服务器内存同一时间占用过多,里面数字据情况修改; 每个循环内部结束地方使用 ob_flush();刷新输出缓冲 flush();将当前为止程序的所有输出发送到用户的浏览器 两者必须同时使用来刷新输出缓冲 报错二:30秒运行超时的错误(Maximum execution … 阅读全文

Linux下安装配置php的mysql扩展

安装PHP扩展,已经有太多人写过了,随便百度、谷歌一下,都可以查到各种PHP扩展的安装方法,今天我要写的是,在本地没有安装msyql应用的情况下,如何安装配置php的mysql扩展。首先说说为什么会有这种需求吧,今年可以说是VPS,即云主机开始最火的一年,很多小公司及个人,都大量购买云主机,云数据库等等。当我们的网站或者应用系统,使用RDS即阿里云的云数据库的时候,我们的云主机是不需要安装mysql的,因为我们要做分布式的系统架构,即每台服务器,只跑一个专门的应用。好了,说了这么多,下面我们来开始安装及配置PHP的mysql扩展吧。 一、下载或者上传php程序 wget http://cn2. … 阅读全文

php插入数据后获取当前数据ID方法mysql_insert_id

在php项目中经常需要知道最新插入数据在数据库中的ID,方便一些操作,php如何获取当前的ID呢?推荐使用mysql_insert_id ,其他方法如下; 一、用以下语句: mysql_query(“select max(id) from t1″,$link); 使用这种方法时 我们得到得是 id最大的值 的确时最后一个 但当多链接线程时 这个最大的id并不一定是 我们插入的所以这个不利用域线程 二、用以下函数: msyql_insert_id(); 当系统执行完INSERT后,再执行SELECT时,可能已经被分发到了不同的后端服务器,如果你使用的编程语言是PHP的话, … 阅读全文

php手机号码中间四位隐藏(*号代替)正则替换代码

php中如何隐藏手机号码的中间四位数字呢?在一些php项目中为了手机号码保密,输出手机号码的时候需要隐藏中间四位数字,下面来看一下php中如何使用正则替换中间四位数字,如下: $str = ‘13525462555’; $pattern = ‘/(\d{3})(\d{4})(\d{4})/i'; $replacement = ‘$1****$3′; $resstr = preg_replace($pattern, $replacement,$str); echo $resstr 效果如下: 135****2555 原文:http:// … 阅读全文

php中ip排序及mysql中ip排序方法

在php项目应用中,如何根据ip来正确排序呢,如果直接order by ip 排序的结果不合理,下面分享一下在php中如何通过ip排序以及在mysql语句中ip排序方法,如下: PHP echo ip2long(‘192.168.1.38′); 输出:3232235814 MYSQL SELECT INET_ATON(‘192.168.1.38′); 输出:3232235814 两个函数返回的结果是一样的,都是A*256*256*256+B*256*256+C*256+D的算法 192*256*256*256+168*256*256+1*256+ … 阅读全文

php mysql中文排序失效解决方法convert(name USING gbk)

在php中经常用到中文排序,当mysql使用的默认utf8编码时,如果直接order by 中文字段排序,排序结果会不正确。下面分享一种mysql中文排序失效解决方法。 将字段先转换成gbk编码再排序:convert(字段名 USING gbk) CONVERT()提供一个在不同字符集之间转换数据的方法。语法是: CONVERT(expr USING transcoding_name) 语句如下: SELECT * FROM tableName ORDER BY CONVERT(fname USING gbk) DESC 前提是mysql安装了gbk字符集,不然会报错。

Unknown column ‘xxx’ in ‘field list’ php mysql错误提示的解决办法

Unknown column ‘xxx’ in ‘field list’(未知的列字段列表),在用php mysql 往数据库插入数据时经常出现上面的错误,让你很疑惑,用不到这个字段啊,这个地方的原因在于SQL语句写的不严谨,看一下例子。 如果$nickName为数字,上面两条语句都没有问题,如果是字符型问题就来了,就会出现上面我们说的Unknown column ‘xxx’ in ‘field list’错误。 所以在写的时候要加上”就行了,如 ‘$nickName&#82 … 阅读全文

php用const在类中定义常量const关键字用法

在php中可以使用const在类中定义常量。常量的值将始终保持不变。const在定义和使用常量的时候不需要使用$符号。 常量的值必须是一个定值,不能是变量,类属性或其它操作(如函数调用)的结果。 PHP5.3.0之后,我们可以用一个变量来动态调用类。但该变量的值不能为关键字self, parent 或static。   Example #1 const 定义和使用一个类常量 Example #2 const  静态数据示例 和heredocs(字符串边界符)不同,nowdocs可以用在任何静态数据中。 Note: PHP 5.3.0起PHP支持Nowdoc功能。

linux下给php安装和开启curl扩展

在使用某些PHP系统时要求开启curl扩展,下面是linux下安装、开启php curl 扩展方法: 方法一 安装cURL wget http://curl.haxx.se/download/curl-7.17.1.tar.gz tar -zxf curl-7.17.1.tar.gz ./configure –prefix=/usr/local/curl make & make install 安装php 只要打开开关 –with-curl=/usr/local/curl 就可以了。 这个扩展库还是非常棒,是fsockopen等等相关的有效的替代品。 方法二 进 … 阅读全文

学习PHP到底要学习哪些东西?

很多学PHP的人一直也搞不清楚,一个PHP程序员和Java程序员或者是.net程序员有什么不同,告诉你,其实都一样,没有什么不同。下面的内容,就是针对一个Java程序员掌握的技能对比PHP来说的!告诉你,它们其实是一样的,不过是工具而已,没有高低贵贱之分。只不过你不熟练,不知道而已。 语法: 必须比较熟悉,在写代码的时候IDE的编辑器对某一行报错应该能够根据报错信息知道是什么样的语法错误,并且知道如何修正。 命令: 必须熟悉PHP带的一些常用命令及其常用选项,熟悉那些命令,自己运行php.exe -h 如果这些命令你没有全部使用过,那么你对PHP实际上还很不了解。 工具: 必须至少熟练使用一种 … 阅读全文

PHP 配置文件中open_basedir选项作用

open_basedir: 将用户可操作的文件限制在某目录下 如下是php.ini中的原文说明以及默认配置: ; open_basedir, if set, limits all file operations to the defined directory ; and below. This directive makes most sense if used in a per-directory or ; per-virtualhost web server configuration file. This directive is ; *NOT* affected by whether … 阅读全文