第一章:
1.php的开头和结尾标记
<?php ?>
2.php中关于$_SERVER[]的三个变量:
$_SERVER['SCRIPT_FILENAME']
$_SERVER['HTTP_USER_AGENT']
$_SERVER['SERVER_SOFTWARE'];
3.php中的变量以$开头,并且" $var "可以被解析。
4.字符串的表示有多种方法:"the string ", ' another string' ;字符串之间的拼接可以用 . 。
5.几个关于字符串的函数:strlen($string); strtolower(); strtoupper(); ucfirst();ucwords(); .= 等
6.数字:整数和实数 取整的函数round():把小数四舍五入为最接近的整数;number_format();
7.常量:define("NAME",'value'); 常量之前不用$,常量单独使用。php预定义的几个常量:PHP_VERSION, PHP_OS
8.php中最常用的两个打印函数:print 和 echo;
9.php中的三种注释://, /* */ , #
10.php中的转义字符:\\, \$, \', \",等。
第二章:
1.关于表单:
<fieldset>
<legend></legend>
<form action="process.php" method ="post">
<input type="text" name="user_name" />
<input type="password" name="password" />
</form>
</fieldset>
2.表单中的method方法:get 和post 区别;1) get 将表单数据拼接url后面,明文格式不安全,2)get对表单中内容大小有限制。
3.php中对提交的表单数据的处理:$_REQUEST["user_name"],$_REQUEST["password"],同样也可以用$_POST[] 处理。$_REQUEST[] $_POST[] 是两个超全局变量(superglobal Variable)。
4. isset()函数,用于检测变量是否被设置。is_numeric()测试是否是数字
5.良好的代码编程风格:缩进代码块!和 注释
6.php中的数组:array:一系列的键-值对(key-value):
两种:索引数组(indexed array)和关联数组(associative array)
前者用数字作为键,后者用字符作为键
当数组使用字符串作为键,而又被包含字符串中,用{}括之。"hello $var['World']"
7.php中超全局数组:$_GET $_POST $_REQUEST, $_SERVER, $_ENV , $_SESSION, $_COOKIE
8.创建连续的数字数组:$ten = range(1,10);
访问数组:foreach($array as $key=>$value){
echo " the value at $key is $value";
}
9.确定数组中的元素个数:$num = count($array);
产生连续的字母: $alphabet = range('a','z');
数组的键可以是多个单词组成字符串
is_array()函数可以确定一个变量是不是数组类型。
10.字符串和数组的相互转化:
$array = explode(separator,$string);
$string = implode(glue,$array);
11.数组的排序函数:sort(),asort(),ksort(); rsort(),arsort(); krsort();
随机排列数组的顺序函数:shuffle();
更自然的顺序对数组排序函数:nasort();
对**数组排序:usort();
更改语言的设置: setlocale();
第三章:
1.php中用于包含外部文件的4个函数: include(),include_once();
require(),require_once();
2.绝对路径和相对路径: . 当前目录;..父目录
3.php.ini配置文件中,可以调整include_path设置,它指示是否允许php检索包含文件。
4.require()失败时会对脚本产生更多影响,因此重要的文件用require(),不太重要的文件用include(); 而require_once() and include_once()在复杂的应用避免冗余。
5》站点的结构考虑的3个事项:1)易于维护 2)安全性 3)便于用户导航
6》在表单是否提交:用isset($_POST["submit"])来测试。
7》创建自己的php函数:
fuction fuction_name() {
//fuction code
}
fuction fuction_print($first, $last='bob'){
//fuction code
return $value;
}
第四章:mysql简介
1.sql标识符:1)应该只包含字母/数字/下划线(不含空格)
2)不应该和现有的关键字相同
3)应该区分大小写
4)不能长于64字符(大约如此)
5)在其域内必须唯一。
2.命名数据库元素:1》确定数据库的名称。2》确定表名 3》确定每一个列名
3.选择列类型:1》文本(字符串)2》数字 3》时间和日期
char varchar
tinytext text mediumtext longtext
tinyint smallint mediumint int bigint
float double decimal
date datetime timestamp time
enum set
文本的变体:binary varbinary tinyblog mediumblob longblob
4:表的主键和外键
5. 使用mysql的客户端:
1》登录: mysql -h hostname -u username -p
2》help命令
6.使用phpMyAdmin (www.phpmyadmin.net)是用php编写的最好/最流行的应用程序之一。它的唯一用途是在web浏览器上提供一个Mysql服务器界面。
第5章SQL简介
1》创建数据库和表:
create datebase database_name;
describe database_name;
show databases;
use database_name;
creat table table_name();
show tables;
show columns from table_name;===describe table_name
2>增删改查: insert into table_name values();
delet update select
3>注意slq命令: 1)数值不应用引号括住
2)字符串必须用引号括住
3)日期和时间值必须用引号括住
4)函数不能用引号括住
5)单词NULL不能用引号括住
6)单引号和双引号均可,但是要配对
4>正则匹配:使用like和 not like _ %
5>order by 对查询结果排序
6>限制结果集: limit
7>使用函数:now(); sha1(); upper(); 别名:(alias) as
8》文本函数:concat(t1,t2);concat_ws(s,t1,t2);length(t);left(t,y) right(t,x);
trim(t); upper(t) lower(t); substring(t,x,y)
文本正则:regexp(); not regexp();
9>数字函数:abs(n); ceiling(n); floor(n1); format(n1,n2); mod(n1,n2) pow(n1,n2)
rand(),round(n1,n2); sqrt(n);
10>日期和实践函数: hour(dt); minute(dt);second(dt) dayname(dt); dayofmoth(dt) monthname(dt) month(dt) year(dt) curdate() curtime() now() unix_timestamp(dt);
datetime timestamp date time year
格式化时间和日期:date_format() time_format() %e %d %D %W %a %c %m %M %b
%Y,%y %l,%h %k,%H %i,%S %r,%T %p
第六章:高级sql和mysql
1.join /索引 /执行全文查找和事务
2.数据库的设计:1)规范化:1》确定主键和外键 2》联系
3》范式:
第一范式:每个字段都是原子性(atomic)或者不可分的(undivisable); 每个列都是不同的。
第二范式:首选必须满足第一范式,每个非键关联到主键。
第三范式:
3.join: 内联结和外联结
4.对选择的结果进行分组:group by avg(); count();group_concat() ;max() min(); sum();
5.创建索引:能够改进读取数据的速度; 4种索引:index,unique,fulltext; primary key 可以加索引的列1)在查询的where部分频繁使用的列;
2)在查询的order by部分频繁使用的列
3)频繁地用作连接焦点的列
4)具有多个不同的列。
6.alter
7. like关键字哟娜与进行简单字符串的匹配;fulltext查找:match
8.执行事务: start transaction; commit rollback
第7章:错误处理和调试
1.错误的种类:HTML/SQL/MYSQL/PHP四种都有可能错误
2.php的错误分为:语法错误(开启php中display_errors,否则只出现空白页):运行时错误:逻辑错误;
3.php的调试:http://localhost/page.php 一个有用的工具就是,phpinfo();函数;应运行于多个浏览器中;
4.调试HTML: validator.w3.org 提供了一个有力的验证工具;使用Firefox 或Opera www.mozilla.comwww.opera.com;
Firefox有多种附加构件
5.显示php错误:不改配置文件,要在一个独立的脚本中打开display_errors,可使用这个函数ini_set();这个函数用指令名称和它应该具有的设置作为参数;ini_set('dispaly_errors',1);
6.php中的错误报告: 3类级别:注意(notice):这不会阻止脚本的执行,并且可能不一定是一个问题。
警告(warning):这指示一个问题,但是不会阻止脚本的执行;
错误(error):这会阻止脚本的继续执行;
php的错误报告设置,与error_reporting()函数一起使用,或者在php.ini文件中使用,
注意E_ALL 的值不同于旧版php并且不包括_STRICT(但在php6中存在)
编号 常量 报告
1 E_ERROR 致命的运行时错误(它会阻止脚本的执行)
2 E_WARNING 运行时警告(非致命错误)
4 E_PARSE 解析错误
8 E_NOTIC 注意(事情可能是或者可能不是一个问题)
256 E_USER_ERROR 用户生成的错误消息,由trigger_error() 函数生成
1024