“PHP学习”目录存档

Nginx403错误解决办法

2009年10月24日,星期六

当你安装好Nginx之后,如果你新建一个虚拟目录的话一般都会403的,可以按下面的方法解决

先cd到你的虚拟目录,然后执行

chmod -R 644 `find . -type f`
chmod -R 755 `find . -type d`

就解决了:)

SQL学习记录

2009年10月23日,星期五

1.4. SQL 语言

正如大多数现代的关系语言一样, SQL 是基于记录关系微积分(TRC)的。 结果是每个可以用记录关系微积分(TRC)表示的查询(相等地,或者是关系演算), 同样也可以用 SQL 表示。不过, 还有一些超出关系演算或者微积分的能力。 下面是一个 SQL 提供的并非关系演算或者关系微积分的内容的一个列表:

插入,删除或者更改数据的命令。

算术能力:在 SQL 里, 我们可以和比较功能一样进行算术运算, 例如

A < B + 3。
要注意 + 或者其他算术操作符从未在关系演算或者关系微积分里面出现过。
分配和打印命令: 我们可以打印一条查询构造的关系以及给一个被计算的关系分配关系名。

聚集函数:象 average,sum, max, 等操作符可以应用于一个关系的列以获取单一的量。

1.4.1. Select(选择)

SQL 里面最常用的命令是 SELECT 语句,用于检索数据。语法是:

SELECT [ ALL | DISTINCT [ ON ( expression [, ...] ) ] ]
* | expression [ AS output_name ] [, ...]
[ INTO [ TEMPORARY | TEMP ] [ TABLE ] new_table ]
[ FROM from_item [, ...] ]
[ WHERE condition ]
[ GROUP BY expression [, ...] ]
[ HAVING condition [, ...] ]
[ { UNION | INTERSECT | EXCEPT [ ALL ] } select ]
[ ORDER BY expression [ ASC | DESC | USING operator ] [, ...] ]
[ FOR UPDATE [ OF class_name [, ...] ] ]
[ LIMIT { count | ALL } [ { OFFSET | , } start ]]
现在我们将通过不同的例子演示 SELECT 语句复杂的语法。用于这些例子的表在 供应商和部件数据库 里定义。

1.4.1.1. 简单的 Select

这里是一些使用 SELECT 语句的简单例子:

Example 1-4. 带有条件的简单查询

要从表 PART 里面把字段 PRICE 大于 10 的所有记录找出来, 我们写出下面查询:

SELECT * FROM PART
WHERE PRICE > 10;
然后得到表:
PNO |  PNAME  |  PRICE
—–+———+——–
3  |  Bolt   |   15
4  |  Cam    |   25
在 SELECT语句里使用 “*” 将检索出表中的所有属性。 如果我们只希望从表 PART 中检索出属性 PNAME 和 PRICE, 我们使用下面的语句:

SELECT PNAME, PRICE
FROM PART
WHERE PRICE > 10;
这回我们的结果是:
PNAME  |  PRICE
——–+——–
Bolt   |   15
Cam    |   25
请注意 SQL 的 SELECT 语句对应关系演算里面的 “projection” (映射),而不是 “selection”(选择)(参阅 关系演算 获取详细信息)。
WHERE 子句里的条件也可以用关键字 OR,AND,和 NOT 逻辑地连接起来:

(全文…)

PHP学习记录

2009年10月23日,星期五

php常量输出

<?php
define(“C1″, “Hello world.\n”);                        //定义C1为常量
echo C1;                                        //输出C1
echo c1;                                        //变量C1拼写错误,这时不会输出C1的值
define(“C2″, “Hello world.\n”, TRUE);                    //设置case_insensitive为TRUE
echo C2;                                        //输出C2
echo c2;                                        //将C小写输出
?>

php传值赋值和传地址赋值

<?php
$name = ‘Simon’;       //对变量$name进行赋值(传值赋值)
$name_b = $name;       //对变量$name_b进行赋值(传值赋值)
$addr = &$name;        //对变量$addr进行赋值(传地址赋值)
$name = “Elaine”;         //改变$name的值
echo $name;        //输出$name,会发现$name的值发生了变化
echo $name_b;        //输出$name_b,会发现$name_b的值没有发生变化
echo $addr;        //输出$addr,会发现$addr的值发生了变化
$addr = “Helen”;       //改变$addr的值
echo $name;        //输出$name,会发现$name的值发生了变化
echo $addr;         //输出$addr,会发现$addr的值发生了变化
?>

php函数变量调用

<?php
$a = 1;
function func()                                        //函数func
{
echo “Variable a in func: “.$a.”<BR>”;                    //函数内部的变量调用
}
func();
echo “Variable a out of func: “.$a.”<BR>”;                    //函数外的变量调用
?>

<?php
$a = 1;
function func($a)                                    //函数func
{
echo “Variable a in func: “.$a.”<BR>”;                    //参数将被传入
}
func($a);
echo “Variable a out of func: “.$a.”<BR>”;                    //输出$a
?>

<?php
$a = 1;
function func()                                        //函数func
{
global $a;                                        //在函数内部标示$a为全局变量
echo “Variable a in func: “.$a.”<BR>”;                    //输出$a
}
func();
echo “Variable a out of func: “.$a.”<BR>”;                    //输出$a
?>

<?php
$a = 1;
function func()
{
echo “Variable a in func: “.$GLOBALS["a"].”<BR>”;        //使用$GLOBALS["a"]代替$a
}
func();
echo “Variable a out of func: “.$a.”<BR>”;
?>

php静态变量

<?php
function func()
{
static $a = 1;                                    //在函数内部标示$a为静态变量,初始值为1
echo “Variable a in func: “.$a.”<BR>”;
$a++;                                            //对变量$a执行了加1操作
}
func();
func();
?>

php动态变量

<?php
$var_name = “ic”;                //定义变量$var_name
$$var_name = “This is Simon”;        //使用$var_name的值作为这个变量的变量名
echo $var_name.”<BR>”;            //输出$var_name,即变量名
echo $$var_name.”<BR>”;        //输出变量的值
echo $ic.”<BR>”;                //使用这个方法可以实现同样的变量调用
?>

(全文…)

修改mysql的root密码的几种方法

2009年10月21日,星期三

Method 1:
在/usr/local/mysql/bin/下:
./mysqladmin -u root password ‘new_password’
一般安装时用此方法设置。

Method 2:
在mysql状态下:
mysql>UPDATE user SET password=PASSWORD(’new_password’) WHERE user=’root’;
mysql>FLUSH PRIVILEGES;

Method 3:
mysql>SET PASSWORD FOR root=PASSWORD(’new_password’);

不知道root密码情况下修改root密码
mysqld启动的时候加上–skip-grant-tables,然后马上修改密码,修改后去掉–skip-grant-tables,然后就OK了。