php获取mysql多个结果集返回

通常在开发时,mysql都是返回一个结果集,但如果多个结果集的话,
就需要做特殊处理。如下面代码所示:

$conn = mysqli_connect('127.0.0.1', 'root', '', 'test', 3306);
$sql = "sql * from tbxx where 1";
$aa = getMultiResult($sql, $conn);
var_dump($aa);
 
 
 
function getMultiResult($query, $conn) {
 
$ret = [];
if ($conn->real_query($query)) {
	do {
		if ($result = $conn->store_result()) {
			while ($row = $result->fetch_assoc()) {
				array_push($ret, $row);
			}
		}
	} while ($conn->more_results() && $conn->next_result());
}
return $ret;
}

继续阅读

安装国内版composer

国内版和国际版没有什么不同,只是因为国际版经常网络问题

下载 Composer

安装前请务必确保已经正确安装了 PHP。打开命令行窗口并执行 php -v 查看是否正确输出版本号。

打开命令行并依次执行下列命令安装最新版本的 Composer:

php -r "copy('https://install.phpcomposer.com/installer', 'composer-setup.php');"
 
php composer-setup.php
 
php -r "unlink('composer-setup.php');"

继续阅读

composer使用国内镜像加速

镜像用法

有两种方式启用本镜像服务:

  • 系统全局配置:即将配置信息添加到 Composer 的全局配置文件 config.json 中。见“方法一”
  • 单个项目配置:将配置信息添加到某个项目的 composer.json 文件中。

方法一: 修改 composer 的全局配置文件(推荐方式)

打开命令行窗口(windows用户)或控制台(Linux、Mac 用户)并执行如下命令:

composer config -g repo.packagist composer https://packagist.phpcomposer.com

继续阅读

PHP判断是否为手机浏览器

如下代码所示:

function isMobile() {
	if (isset($_SERVER['HTTP_VIA']) && stristr($_SERVER['HTTP_VIA'], "wap")) {
		return true;
	} elseif (isset($_SERVER['HTTP_ACCEPT']) && strpos(strtoupper($_SERVER['HTTP_ACCEPT']), "VND.WAP.WML")) {
		return true;
	} elseif (isset($_SERVER['HTTP_X_WAP_PROFILE']) || isset($_SERVER['HTTP_PROFILE'])) {
		return true;
	} elseif (isset($_SERVER['HTTP_USER_AGENT']) && preg_match('/(blackberry|configuration\/cldc|hp |hp-|htc |htc_|htc-|iemobile|kindle|midp|mmp|motorola|mobile|nokia|opera mini|opera |Googlebot-Mobile|YahooSeeker\/M1A1-R2D2|android|iphone|ipod|mobi|palm|palmos|pocket|portalmmm|ppc;|smartphone|sonyericsson|sqh|spv|symbian|treo|up.browser|up.link|vodafone|windows ce|xda |xda_)/i', $_SERVER['HTTP_USER_AGENT'])) {
		return true;
	} else {
		return false;
	}
}

继续阅读

CentOS下php5与php7共存

先安装php7

安装过程略,路径在/usr/local/php

安装php5

// php-5.6.10
./configure --prefix=/usr/local/php5 --enable-fpm --with-config-file-path=/usr/local/php5/etc  --with-libxml-dir --with-zlib --enable-bcmath  --with-curl  --enable-ftp --with-gd --with-jpeg-dir --with-png-dir --with-freetype-dir  --enable-gd-native-ttf --enable-mbstring --with-mcrypt --with-mhash --with-mysql --with-mysqli --with-pdo-mysql --with-iconv-dir=/usr --enable-zip --enable-sockets
make ZEND_EXTRA_LIBS='-liconv'
make install
cp php.ini-production /usr/local/php5/etc/php.ini

继续阅读

一个菜单分类的算法(非递归)

直接上代码

// 菜单树算法(非递归)
function list2tree($list) {
	$tree = [];
	foreach ($list as $v) {
		$tree[$v['id']] = $v;
		$tree[$v['id']]['sub'] = []; //子类
	}
	foreach ($tree as $k=>$v) {
		if ($v['pid']) {
			$tree[$v['pid']]['sub'][] = &$tree[$k];
		}
	}
	foreach ($tree as $k=>$v) {
		if ($v['pid']) {
			unset($tree[$k]);
		}
	}
	return $tree;
}

继续阅读

php常驻脚本的问题

php用cli执行php常驻脚本的时候,脚本会一直执行没有断开
如果涉及到的执行脚本的文件有更新,当前未断开的脚本使用的还是之前代码版本。
包括之前一开始使用环境变量等

所以在这样情景下,如果有修改过代码,最后把常驻脚本重启一下,或让常驻脚本定期能够刷新。
继续阅读