魏长东

weichangdong

正在查看: 2014年12月日志归档(第 1 页 / 共 17 篇)

mysql排序的妙用

在网上无意间看到mysql排序的一个妙用,在使用order by的时候,可以让一条记录独秀一枝,比如不管id多少,都可以显示在最前面或者最后面。

看例子吧,肯定会一目了然。

»»阅读全文

利用PHP操作Linux消息队列完成进程间通信【转】

当我们开发的系统需要使用多进程方式运行时,进程间通信便成了至关重要的环节。消息队列(message queue)是Linux系统进程间通信的一种方式。

PHP的sysvmsg模块是对Linux系统支持的System V IPC中的System V消息队列函数族的封装。我们需要利用sysvmsg模块提供的函数来进进程间通信。先来看一段示例代码_1:

»»阅读全文

popen之php多进程

运行系统命令常常用exec,system之类的,

但是今天发现了proc_open和popen,proc_open自称比popen多一些功能,确实,proc_open有很多功能,可以与程序交互,

——但是,他是同步的,就是说一个程序没有运行结束,不能运行下一个!就没办法异步多进程了。

——但,popen是异步的

»»阅读全文

linux进程后台运行的几种方法

我们经常会碰到这样的问题,用 telnet/ssh 登录了远程的 Linux 服务器,运行了一些耗时较长的任务, 结果却由于网络的不稳定导致任务中途失败。如何让命令提交后不受本地关闭终端窗口/网络断开连接的干扰呢?下面举了一些例子, 您可以针对不同的场景选择不同的方式来处理这个问题。

»»阅读全文

再战襄阳

蒙古名将阿里海牙如是说:“无襄则无淮,无淮则江南唾手可得。”这句话点明了一座城池。它傍水而建,它硬若顽石,它是诗人孟浩然、诗圣杜甫的故乡,也是天下战火的必经之途。;整整一千年,这座城池卡住了无数南来北往的大人物。蒙古铁骑南征,精忠武穆北讨,云长於此水淹七军,符坚就地火焚檀溪,为了一统大业、称王称霸,无论是勒马江边的北方枭维、亦或是挚刀船头的南方英杰,人人都须来此杀上一遭。百折不挠的铜墙铁壁,它耐得起重炮轰击,熬得住饥荒战火,它是光辉军旅生涯的起点,也可以是异乡埋骨的终站,为了葬身城下那千千万万的无主孤魂,人们如此称呼它……英雄坟场,大名襄阳!

»»阅读全文

MySQL binlog 日志格式(Mixed,Statement,Row)

MySQL 5.5 中对于二进制日志 (binlog) 有 3 种不同的格式可选:Mixed,Statement,Row,默认格式是 Statement。总结一下这三种格式日志的优缺点。  

mysql> show variables like 'binlog_format%';
+---------------+-----------+
| Variable_name | Value     |
+---------------+-----------+
| binlog_format | STATEMENT |
+---------------+-----------+
1 row in set (0.00 sec)

MySQL Replication 复制可以是基于一条语句 (Statement Level) ,也可以是基于一条记录 (Row Level),可以在 MySQL 的配置参数中设定这个复制级别,不同复制级别的设置会影响到 Master 端的 bin-log 日志格式。

»»阅读全文

mysql@变量的两种形式

两种不同的格式:

第一:SET @update_id := NULL;

第二:SET @update_id = NULL;

就是一个冒号(:)的差别。

功能的差别是(我自己认为的啊):第一种是变量的形式,第二种是赋值的形式。

第一种详解:

SET @update_id := NULL;
UPDATE mywcd SET price=101, name=(select @update_id := name) WHERE id=2 LIMIT 1;
SELECT @update_id;

执行这个语句,会返回更新成功,(没有更新任何数据,也返回)的那条记录的name字段的数值。

mysql> select  *  from  mywcd where id=3;
+----+-------+------+
| id | price | name |
+----+-------+------+
|  3 |   103 | wcd  |
+----+-------+------+
1 row in set (0.03 sec)

执行返回这个:

mysql> SELECT @update_id;
+------------+
| @update_id |
+------------+
| wcd        |
+------------+
1 row in set (0.00 sec)

第二种详解:

SET @update_id = NULL;
UPDATE mywcd SET price=100, name=(select @update_id = name) WHERE id=3 LIMIT 1;
SELECT @update_id;

执行完这个,name字段的数值,就直接被替换成第一条语句赋值的数值了。这个语句的数值就是NULL了。

PHP5.2、5.3、5.4、5.5、5.6 对比以及功能详解

截至目前(2014.2), PHP 的最新稳定版本是 PHP5.5, 但有差不多一半的用户仍在使用已经不在维护 [注] 的 PHP5.2, 其余的一半用户在使用 PHP5.3 [注].
因为 PHP 那“集百家之长”的蛋疼语法,加上社区氛围不好,很多人对新版本,新特征并无兴趣。
本文将会介绍自 PHP5.2 起,直至 PHP5.6 中增加的新特征。

  • PHP5.2 以前:autoload, PDO 和 MySQLi, 类型约束
  • PHP5.2:JSON 支持
  • PHP5.3:弃用的功能,匿名函数,新增魔术方法,命名空间,后期静态绑定,Heredoc 和 Nowdoc, const, 三元运算符,Phar
  • PHP5.4:Short Open Tag, 数组简写形式,Traits, 内置 Web 服务器,细节修改
  • PHP5.5:yield, list() 用于 foreach, 细节修改
  • PHP5.6: 常量增强,可变函数参数,命名空间增强

»»阅读全文