PHP 和 Mysql 学习笔记(三)

1. mysql 定界符(反引号`)
当标示符是一个受限的词或包含特殊的字符时使用
select * from `select` where `select`.id >100;
create table orders(`my orders` varchar(100)...);
2. 数据库的大小写
linux下的数据库和表名的大小写是敏感的
其他的数据库对象不区分大小写
3. mysql 分组语句和嵌套子查询
员工表 emp( empno, name, tel, deptno, sal )
部门表 dept( deptno, dname, addr )
显示每个部门收入最高的职工信息
select * from emp
where sal in (
select max(sal)
from emp
group by deptno
);
4. mysql 查询排序 ( SQL Order By )
SELECT "栏位名"
FROM "表格名"
[WHERE "条件"]
ORDER BY "栏位名" [ASC, DESC]
ASC 代表结果会以由小往大的顺序列出,而 DESC 代表结果会以由大往小的顺序列出,默认值为 [...]


PHP 和 Mysql 学习笔记(二)

1. 值参和变参
值参:
<?php function swap($a, $b) { $temp = $a; $a = $b; $b = $temp; } $x = 100; $y = 1; swap($x, $y); echo "x = $x<br />y = $y";?>
输出结果为:
x = 100y = 1
这里 $x, $y 只是一个值的拷贝
变参:
<?php function swap(&$a, &$b) { $temp = $a; $a = $b; $b = $temp; } $x = 100; $y = 1; swap($x, $y); echo "x = $x<br />y = $y";?>
输出结果为:
x = 1y = 100
2. 连接 mysql
格式: [...]


再谈Wordpress的MySQL乱码问题解决方法

在MySQL4.1下,中文的WP就会产生种种的乱码问题。
一个程序( PHP,CGI 等)与MySQL建立连接后,这个程序发送给MySQL的数据采用的是什么字符集,MySQL 是无从得知的。所以解决乱码问题的根本就是我们在程序中告诉MySQL采用的编码是什么,简单的就是在程序中加入这样的一个语句:
SET NAMES 'utf8';
这个语句的效果等同于同时设定了
SET character_set_client='utf8';
SET character_set_connection='utf8';
SET character_set_results='utf8';
为什么这么做?
我们安装MySQL4.1时按照默认配置,那么default-character-set= utf8。在MySQL Command Line Client下查看到的查看系统的字符集和排序方式的设定为:

Tags: mysql, wordpress, 乱码


重装系统是件麻烦的事

昨天终于把单位用的机器重装了,为了玩玩 babel 开始装 php5.1.5 , mysql5.0.24 , 去下apache 发现 2.2.3 已经出来了,于是想尝鲜,没想到惹来一大堆麻烦#83

开启 Apache Mod_rewrite
apache 2.2.x + PHP5.1.x 不能运行的解决办法.
apache2.2装完后更改DocumentRoot出现403错误原因
关于PHP5.1下 php文件显示空白问题

弄完我都快能做个Q&A了#76

Tags: apache, mysql, php, 操作系统, 重装


Mysql4.1编码详解及WordPress编码完善

下面要写的是一篇非常无聊的东西,充斥了大量各式各样的编码、转换、客户端、服务器端、连接……呃,我自己都不愿意去看它,但想一想,写下来还是有点意义的,原因有四:
1. MySQL 4.1 对多语言的支持有了很大变化 (这导致了问题的出现);
2. 尽管大部分的地方 (包括个人使用和主机提供商),MySQL 3 仍然占主导地位;但 MySQL 4.1 是 MySQL 官方推荐的数据库,已经有主机提供商开始提供并将会越来越多;
3. 许多 PHP 程序以 MySQL 作为默认的数据库管理软件,但它们一般不区分 MySQL 4.1 与 4.1 以下版本的区别,笼统地称“MySQL 3.xx.xx 以上版本”就满足安装需求了;
4. 因为 latin1 在许多地方 (下边会详细描述具体是哪些地方) 作为默认的字符集,成功的蒙蔽了许多 PHP 程序的开发者和用户,掩盖了在中文等语言环境下会出现的问题;
简单的说,MySQL 自身的变化和使用 MySQL 的 PHP 程序对此忽略,导致了问题的出现和复杂化,而由于大部分用户使用的是英文,使这种问题不被重视。这里提到的 PHP 程序,主要就 WordPress 而言。
MySQL 4.1 [...]


一切又重新开始了

昨天下午mysql出了点问题,结果导致blog的数据全部丢失,虽然有备份但是恢复回来出现很多乱码,整了半天最后还是放弃了,只好重新再来吧。 还是讨厌的InnoDB惹的祸,现在汉字改成了NCR(Numeric character reference) 来表示,以后就不怕乱码的问题了。

Tags: mysql, 乱码