my php & mysql FAQ

  1. php中文字符串长度及定长截取问题使用str_len("中国") 结果为6,php系统默认一个中文字符长度为3,可改用mb_strlen函数获得长度,mb_substr函数截取字符 mb_strlen($str, "utf-8"); //1汉字为1字符 mb_strlen($str, "gb2312"); //系统会认为1汉字为2字符 mb_strlen($str); //如果没有添加,系统会认为1汉字为3字符 int mb_strlen ( string str [, string encoding] ) string mb_substr ( string str, int start [, int length [, string encoding]] )
  2. 判断php变量是否定义,是否为空 if($keyword): 这样的语句如果在controller里没有set 到页面上判断语句会出错,改用表达式 isset($keyword) 表达式 gettype() empty() is_null() isset() boolean : if($x) $x = ""; string TRUE FALSE TRUE FALSE $x = null; NULL TRUE TRUE FALSE FALSE var $x; NULL TRUE TRUE FALSE FALSE $x is undefined NULL TRUE TRUE FALSE FALSE $x = array(); array TRUE FALSE TRUE FALSE $x = false; boolean TRUE FALSE TRUE FALSE $x = true; boolean FALSE FALSE TRUE TRUE $x = 1; integer FALSE FALSE TRUE TRUE $x = 42; integer FALSE FALSE TRUE TRUE $x = 0; integer TRUE FALSE TRUE FALSE
  3. 获取request多值参数 类似java的request.getParameterValues() (居然刚知道这个方法,==!) 页面form中  后台处理请求 $kword=$_POST['kword']; cakePHP对应方法为 $kword=$this->params['form']['kword']; 使用时按照设置的顺序$kword[index] index: 0-n
  4. php solr client api 取doc字段出现index not defined 错误解决方法: solr文档可能某些字段不全,当取多个文档显示时,如果有的字段没有定义值会出现index not defined 错误 修改solr client api的Document文件 public function __get($key) { //key不存在则返回空 避免出现index not defined 错误 shen guanpu 2010年7月15日13:51:52 return array_key_exists($key,$this->_fields)?$this->_fields[$key]:""; //return $this->_fields[$key]; 原代码}
  5. Install CakePHP in a Subdirectory Via an Apache Alias httpd.conf In httpd.conf, add the following line:Alias /directory_name /absolute/path/to/install/directory/app/webroot .htaccess In app/webroot/.htaccess, add the following line:RewriteBase /directory_name Your .htaccess file should now appear as such: RewriteEngine On RewriteBase /directory_name RewriteCond % REQUEST_FILENAME !-d RewriteCond % REQUEST_FILENAME !-f RewriteRule ^(.*)$ index.php?url=$1 [QSA,L] index.php Finally, in app/webroot/index.php, at line 63, right below where it says not to edit below this line, change it to: define('WEBROOT_DIR', 'directory_name'); 出处http://www.chriscassell.net/log/2006/07/27/how_to_install_.html
  6. mysql 远程访问设置 GRANT ALL PRIVILEGES ON *.* TO root@"%" IDENTIFIED BY 'password' WITH GRANT OPTION; FLUSH PRIVILEGES;
  7. PHP 闭合标签 PHP闭合标签“?>”在PHP中对PHP的分析器是可选的。 但是,如果使用闭合标签,任何由开发者,用户,或者FTP应用程序插入闭合标签后面的空格都有可能会引起多余的输出、php错误、之后的输出无法显示、空白页。因此,所有的php文件应该省略这个php闭合标签,并插入一段注释来标明这是文件的底部并定位这个文件在这个应用的相对路径。这样有利于你确定这个文件已经结束而不是被删节的。 INCORRECT: CORRECT: /* End of file myfile.php // Location: ./system/modules/mymodule/myfile.php */
  8. php判断数字 bool is_numeric ( mixed var )
  9. mysql IGNORE_SPACE mode 写concat函数时出现 concat dose not exist错误 更改set sql_mode='IGNORE_SPACE'; 再写concat得到正确结果 mysql workbench字体太小,函数和“(”之间有空格居然没看到。。。
  10. php solr 搜索排序  $response = $this->searchSolr->search( $query, $offset, $limit,array('sort'=>'wiki-recommend desc,wiki-score desc') );
  11. 字符编码转换 string mb_convert_encoding ( string str, string to_encoding [, mixed from_encoding] )
  12.  cakePHP之XP下apache配置 php.ini文件设置 date.timezone = HongKong 不然cakePHP首页会出现警告 apache httpd.conf配置主要是设置php支持及urlrewrite模块启动 LoadModule php5_module C:/php/php5apache2_2.dll AddType application/x-httpd-php .php PHPIniDir "C:/php" #使用cake php 则去掉下行的注释 LoadModule rewrite_module modules/mod_rewrite.so DirectoryIndex index.html index.php # 配置默认的目录设置 是否允许跳转. # Options FollowSymLinks AllowOverride all # Order deny,allow # Deny from all # This should be changed to whatever you set DocumentRoot to. #这个目录的配置同上做更改
  13. 二维数组赋值 $a1 = array( "a" => 0, "b" => 1 ); $a2 = array( "aa" => 00, "bb" => 11 ); $together = array( $a1, $a2 ); foreach( $together as $single ) { $single["c" ] = 3 ; } 这样赋值不会有任何变化,必须如下做法: foreach( $together as $key => $value ) { $together[$key]["c"] = 3 ; }
  14. 使用yum 安装和删除PHP # rpm --import http://www.jasonlitka.com/media/RPM-GPG-KEY-jlitka # vi /etc/yum.repos.d/utterramblings.repo [utterramblings] name=Jason's Utter Ramblings Repo baseurl=http://www.jasonlitka.com/media/EL$releasever/$basearch/ enabled=1 gpgcheck=1 gpgkey=http://www.jasonlitka.com/media/RPM-GPG-KEY-jlitka # yum search php # yum update php
  15. mysql导出数据 导出表结构 mysqldump --opt -d shorturl -htestdb -utest -ptest> test.sql 导出数据和表结构 mysqldump 数据库名 -uroot -p > xxx.sql   导出数据 mysqldump -t 数据库名 -uroot -p > xxx.sql   导出特定表mysqldump -uroot -p -B数据库名 --table 表名 > xxx.sql   如出现无权限锁表问题  mysqldump --opt --single-transaction -d love  -ulove -plove> love.sql
  16. mysql slave 恢复:  Fixing MySQL replication after slaves's relay log was corrupted  http://www.redips.net/mysql/replication-slave-relay-log-corrupted/ 首先 show slave status\G;  记录两个值:Relay_Master_Log_File  Exec_Master_Log_Pos OK, with this values, new binlog position can be set: # stop slave mysql> stop slave; # make slave forget its replication position in the master's binary log mysql> reset slave; # change slave to start reading from stopped position mysql> change master to master_log_file='mysql-bin.002045', master_log_pos=103641119; # start slave mysql> start slave;

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏LanceToBigData

Mybatis(一)走进Mybatis与FisrtExample

一直在使用,从未系统的总结起来。所以这里给大家带来的是mybatis的总结,系统大家能够对这个框架有一定的系统的学习与认识。 mybatis和Hibernat...

10320
来自专栏SDNLAB

Open vSwitch系列之openflow版本兼容

众所周知Open vSwitch支持的openflow版本从1.0到1.5版本(当前Open vSwitch版本是2.3.2)通过阅读代码,处理openflow...

580130
来自专栏Java帮帮-微信公众号-技术文章全总结

Mybatis_day01

Mybatis_day01 前言 Jdbc演变到mybatis jdbc jdbc编程 publicstaticvoid main(String[] args)...

43470
来自专栏IT杂记

通过Java程序提交通用Mapreduce任务并获取Job信息

背景 我们的一个业务须要有对MR任务的提交和状态跟踪的功能,须要通过Java代码提交一个通用的MR任务(包括mr的jar、配置文件、依赖的第三方jar包),并且...

1.1K50
来自专栏应兆康的专栏

Python Web - Flask笔记6

mysql级别的外键,还不够ORM,必须拿到一个表的外键,然后通过这个外键再去另外一张表中查找,这样太麻烦了。SQLAlchemy提供了一个relationsh...

17210
来自专栏函数式编程语言及工具

FunDA(10)- 用户功能函数模式:User Function Model

   前面我们提过:FunDA就像一个管道(PipeLine)。管道内流动着一串数据(Data)或者运算指令(Action)。管道的源头就是能产生纯数据的数据源...

20450
来自专栏蓝天

可epoll队列

就可以使用epoll来监控队列中是否有数据的队列,当然也支持select和poll。

10920
来自专栏MasiMaro 的技术博文

Windows平台下的内存泄漏检测

在C/C++中内存泄漏是一个不可避免的问题,很多新手甚至有许多老手也会犯这样的错误,下面说明一下在windows平台下如何检测内存泄漏。 在windows平...

25120
来自专栏LhWorld哥陪你聊算法

【Linux篇】--awk的使用

awk是一个强大的文本分析工具。相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大。 简单来说awk就是把文件逐行的读入,(空格...

14720
来自专栏极客猴

Django 学习笔记之模型高级用法(上)

前面有两篇文章简单介绍 Django 的模型,这一部分算是基础知识。我自己近期也总做了下总结,将花大概两篇的篇幅来分享下模型的一些高级用法。

7930

扫码关注云+社区

领取腾讯云代金券