零:重要的PHP超级全局变量php
一、$_SERVERhtml
$_SERVER超级全局变量包含由web服务器建立的信息,它提供了服务器和客户配置及当前请求环境的有关信息。根据服务器不一样,$_SERVER中的变量值和变量个数会有差异,不过通常均可以找到CGI1.1规范中定义的变量。其中包括:mysql
$_SERVER[ 'HTTP_REFERER' ] ; 引导用户到达当前位置的页面的URL ;web
$_SERVER[ 'REMOTE_ADDR‘ ] ; 客户IP地址 ;正则表达式
$_SERVER[ ’REQUEST_URI‘ ] ; URL的路径部分。若是URL是[url]http://www.example.com/blog/apache/index.html[/url] ,那么URI就是/blog/apache/index.html 。sql
$_SERVER[ 'HTTP_USER_AGENT' ] ; 客户的用户代理,通常会提供操做系统和浏览器的有关信息。shell
二、$_GET数据库
$_GET超级全局变量包含使用GET方法传递的参数的有关信息。若是请求URL为[url]http://www.example.com/index.html?cat=apache&id=157[/url], 就可使用$_GET超级全局变量访问以下变量:apache
$_GET[ 'cat' ] = "apache" ;数组
$_GET[ 'id' ] = "157" ;
默认状况下,要访问通GET方法传递的变量,$_GET超级全局变量是惟一的途径。
三、$_POST
$_POST超级全局变量包含用POST方法传递的参数的有关信息。
<form caction="subscribe.php" method = "post">
<p>
Email address : <br>
<input type="text" name="email" size="20" maxlength="so" value="">
</p>
<p>
Password : <br>
<input type="password" name="pswd" size="20" maxlength="15" value="">
</p>
<p>
<input type="submit" name="subscribe" value="subscribe!">
</p>
</form>
经过脚本subscribe.php,就可使用下面的POST变量:
$_POST[ 'email' ] = " jason@example.com " ;
$_POST[ 'pswd' ] = "rainyday" ;
$_POST[ 'subscribe' ] = "subscribe!" ;
与$_GET同样,在默认状况下,$_POST超级全局变量是访问POST变量的惟一途径。
四、$_COOKIE
$_COOKIE超级全局变量存储了经过HTTP cookie传递到脚本的信息。这些cookie通常是由之前执行的PHP脚本经过PHP函数setcookie ( ) 设置的。例如,假设使用 setcookie ( )存储了一个名为 example.com、值为ab2213的cookie。之后就能够经过调用$_COOKIE[ ' example.com' ]来得到这个值。
五、$_FILES
$_FILES超级全局变量包含经过POST方法向服务器上传的数据的有关信息。这个超级全局变量与其余的变量有所不一样,它是一个二维数组,包含5个元素。第一个下标标示表单的文件上传元素名;第二个下标是五个预约义下标之一,这些下标描述了上传文件的某个属性:
△ $_FILES[ 'upload-name' ][ 'name' ]; 从客户端向服务器上传文件的文件名;
△ $_FILES[ 'upload-name' ][ 'type' ]; 上传文件的MIME类型,这个变量是否赋值取决于浏览器的功能。
△ $_FILES[ 'upload-name' ][ 'size' ]; 上传文件的大小(以字节为单位);
△ $_FILES[ 'upload-name' ][ 'tmp_name' ]; 上传以后,将此文件移到最终位置以前赋予的临时名。
△ $_FILES[ 'upload-name' ][ 'error' ]; 上传状态码。尽管这个变量的名为 error ,但实际上在成功的状况下也会填写这个变量。它有五个可能的值:
■ UPLOAD_ERR_OK 文件成功上传
■ UPLOAD_ERR_INI_SIZE 文件大小超出了 upload_max_filesize 指令所指定的最大值。
■ UPLOAD_ERR_FORM_SIZE 文件大小超出了MAX_FILE_SIZE 隐藏表单域参数(可选)指定的最大值。
■ UPLOAD_ERR_PARTIAL 文件只上传了一部分
■ UPLOAD_ERR_NO_FILE 上传表单中没有指定文件
六、$_ENV
$_ENV超级全局变量提供PHP解析所在服务器环境的有关信息。此数组中的变量包括:
△ $_ENV[ 'HOSTNAME' ] 服务器的主机名
△ $_ENV[ 'SHELL' ] 系统 shell
七、$_REQUEST
$_REQUEST超级全局变量是一个全能选手,它记录了经过各类方法传递给脚本的变量,特别是GET ,POST 和 COOKIE 。 这些变量的顺序不依赖于它们在发送脚本中出现的顺序,而是依赖于 variables_order 配置指令所指定的顺序。建议少用这个超级变量,由于它不够安全。
八、$_SESSION
$_SESSION 超级全局变量包含与全部会话有关的信息。注册会话信息能为你提供便利,这样就能在整个网站中引用这些会话信息,而无需经过GET或POST显示的传递数据。
九、$GLOBALS
$GLOBALS 超级全局变量数组能够认为是超级全局变量的超集,包含全局做用域内的全部变量。执行下面的代码能够查看$GLOBALS 中全部的变量。
print ' <pre>' ;
print_r ($GLOBALS);
print ' </pre>' ;
一 :php处理字符串经常使用函数
1查找字符位置函数:
strpos($str,search,[int]):查找search在$str中的第一次位置从int开始;
stripos($str,search,[int]):函数返回字符串在另外一个字符串中第一次出现的位置。该函数对大小写不敏感
strrpos($str,search,[int]):查找search在$str中的最后一次出现的位置从int开始
strripos($str,search,[int]):同上,该函数对大小写不敏感
二、提取子字符串函数(双字节)
substr($str,int start[,int length]):从$str中strat【下标(0,length-1)】位置开始提取[length长度的字符串]。
strstr($str1,$str2):从$str1(第一个的位置)搜索$str2并从它开始截取到结束字符串;若没有则返回FALSE。
stristr() 功能同strstr,只是不区分大小写。
strrchr() 从最后一次搜索到的字符处返回;用处:取路径中文件名
三、替换字符串的PHP字符串函数
str_replace(search,replace,$str):从$str中查找search用replace来替换
str_ireplace(search,replace,$str):同上,该函数对大小写不敏感
strtr($str,search,replace):这个函数中replace不能为"";
substr_replace($Str,$rep,$start[,length]):$str原始字符串,$rep替换后的新字符串,$start起始位置,$length替换的长度,该项可选
四、字符长度
int strlen($str)
五、比较字符函数
int strcmp($str1,$str2):$str1>=<$str2分别为正1,0,-1(字符串比较)
strcasecmp() 同上(不分大小写)
strnatcmp("4","14") 按天然排序比较字符串
strnatcasecmp() 同上,(区分大小写)
六、分割成数组的PHP字符串函数
str_split($str,len):把$str按len长度进行分割返回数组
split(search,$str[,int]):把$str按search字符进行分割返回数组int是分割几回,后面的将不分割
expload(search,$str[,int])
七、去除空格:
ltrim()、rtrim()、trim()
八、加空格函数
chunk_split($str,2):向$str字符里面按2个字符就加入一个空格;
九、chr、ord--返回指定的字符或ascii
十、HTML代码有关函数
nl2br():使\n转换为<br>。
strip_tags($str[,'<p>']):去除HTML和PHP标记
在$str中全部HTML和PHP代码将被去除,可选参数为html和PHP代码做用是将保留
可选参数所写的代码。
如:echo strip_tags($text, '<br><p>');
htmlspecialchars($str[,参数]):页面正常输出HTML代码参数,是转换方式
十一、字符大小写转换的PHP字符串函数
strtolower($str): 字符串转换为小写
strtoupper($str): 字符串转换为大写
ucfirst($str): 将函数的第一个字符转换为大写
ucwords($str): 将每一个单词的首字母转换为大写
十二、数据库相关的PHP字符串函数
addslashes($str):使str内单引号(')、双引号(")、反斜线(\)与 NUL
字符串转换为\',\",\\。
magic_quotes_gpc = On :自动对 get,post,cookie的内容进行转义
get_magic_quotes_gpc():检测是否打开magic_quotes_gpc
stripslashes(): 去除字符串中的反斜杠
13 肯定字符串长度
* int strlen(string str)
14 比较两个字符串
* 1、strcmp函数对两个字符串进行二进制安全的比较,并区分大小写
* int strcmp(string str1,string str2)
* 2、以不区分大小写的方式比较两个字符串
* int strcasecmp(string str1,string str2)
* 3、求两个字符串相同部分
* int strspn(string str1,string str2)
* 4、求两个字符串的不一样部分
* int strcspn(string str1,string str2)
15 处理字符串大小写
* 1、将字符串所有转换为小写
* string strtolower(string str)
* 2、将字符串所有转化为大写
* string strtoupper(string str)
* 3、将字符串第一个字符大写
* string ucfirst(string str)
* 4、将字符串中的每一个单词变成大写
* string ucword(string str)
16 字符串与HTML相互转换
* 1、将换行符转换为HTML终止标记
* string bl2br(string str)
* 2、将特殊字符转换wieldHTML等价形式
* string htmlentities(string str[,int quote_style[,int charset]])
* 3、使用特殊的HTML字符用于其余目的
* string htmlspecialchars(string str[,int quote_style[,string charset]])
* 4、将文本转换为HTML等价形式
* array get_html_translaction_table(int table[,int quote_style])
* 5、建立一个自定义的转换清单
* string strtr(string str,array replacements)
* 6、将HTML转换为纯文本
* string strip_tags(string str[,string allowable_tags])
17 正则表达式函数的替代函数
* 1、strtok函数根据预约义的字符串列表来解析字符串
* string strtok(string str,string tonens)
* 2、根据预约义的定界符分析字符串
* array explode(string separator,string str[,int limit])
* 3、将数组转换为字符串
* string implode(string delimiter, array array)
* 4、解析复杂的字符串
* int strpos(string str,string substr[,int offset])
* 5、找到字符串的最后一次出现
* int strrpos(string str,char substr[,offset])
* 6、用另一个字符串替代字符串的全部实例
* mixed str_replace(string occurrence,mixed replacement,mixed str[,int count])
* 7、获取字符串的一部分strstr返回字符串中预约义字符串第一次出现开始的剩余部分
* string strstr(string str,string occurrence)
* 8、根据预约义的偏移返回字符串一部分
* string substr(string str,int start[,ing length])
* 9、肯定字符串出现的频率
* int substr_count(string str,string substring)
* 10、用另外一个字符串替换一个字符串的一部分
* string substr_replace(string str,string replacement,int start[,int length])
18 填充和剔除字符串
* 1、从字符串开始出裁剪字符
* string ltrim(string str[,string charliset])
* 2、从字符串结尾裁剪字符
* string rtrim(string str[,string charliset])
* 3、从字符串两端裁剪字符
* string trim(string str[,string charliset])
* 4、填充字符串
* string str_pad(string str,int length[,string pad_string[,int pad_type]])
19字符和单词计数
* 1、字符串中字符计数
* mixed count_chars(string str[,mode])
* 2、字符串中单词总数计数
* mixed str_word_count(string str[,int format])
三 php时间函数
1,年-月-日
echo date('Y-m-j');
2009-05-29
echo date('y-n-j');
09-2-29
大写Y表示年四位数字,而小写y表示年的两位数字;
小写m表示月份的数字(带前导),而小写n则表示不带前导的月份数字。
echo date('Y-M-j');
2009-May-6
echo date('Y-m-d');
2009-05-06
大写M表示月份的3个缩写字符,而小写m则表示月份的数字(带前导0);
没有大写的J,只有小写j表示月份的日期,无前导o;若须要月份带前导则使用小写d。
echo date('Y-M-j');
2009-Feb-6
echo date('Y-F-jS');
2009-February-6th
大写M表示月份的3个缩写字符,而大写F表示月份的英文全写。(没有小写f)
大写S表示日期的后缀,好比“st”、“nd”、“rd”和“th”,具体看日期数字为什么。
小结:
表示年能够用大写的Y和小写y;
表示月能够用大写F、大写M、小写m和小写n(分别表示字符和数字的两种方式);
表示日能够用小写d和小写j,大写S表示日期的后缀。
2,时:分:秒
默认状况下,PHP解释显示的时间为“格林威治标准时间”,与咱们本地的时间相差8个小时。
echo date('g:i:s a');
5:56:57 am
echo date('h:i:s A');
05:56:57 AM
小写g表示12小时制,无前导0,而小写h则表示有前导0的12小时制。
当使用12小时制时须要代表上下午,小写a表示小写的“am”和“pm”,大写A表示大写的“AM”和“PM”。
echo date('G:i:s');
14:02:26
大写G表示24小时制的小时数,可是不带前导的;使用大写的H表示带前导的24小时制小时数
小结:
字母g表示小时不带前导,字母h表示小时带前导;
小写g、h表示12小时制,大写G、H表示24小时制。
3,闰年、星期、天
echo date('L');
今年是否闰年:0
echo date('l');
今天是:Tuesday
echo date('D');
今天是:Tue
大写L表示判断今年是否闰年,布尔值,为真返回1,不然为0;
小写l表示当天是星期几的英文全写(Tuesday);
而使用大写D表示星期几的3个字符缩写(Tue)。
echo date('w');
今天星期:2
echo date('W');
本周是整年中的第 06 周
小写w表示星期几,数字形式表示
大写W表示一年中的星期数
echo date('t');
本月是 28 天
echo date('z');
今天是今年的第 36 天
小写t表示当前月份又多少天
小写z表示今天是本年中第几天
4,其余
echo date('T');
UTC
大写T表示服务器的时间区域设置
echo date('I');
0
大写I表示判断当前是否为夏令时,为真返回1,不然为0
echo date('U');
1170769424
大写U表示从1970年1月1日到如今的总秒数,就是Unix时间纪元的UNIX时间戳。
echo date('c');
2007-02-06T14:24:43+00:00
小写c表示ISO8601日期,日期格式为YYYY-MM-DD,用字母T来间隔日期和时间,时间格式为HH:MM:SS,时区使用格林威治标准时间(GMT)的误差来表示。
echo date('r');
Tue, 06 Feb 2009 14:25:52 +0000
小写r表示RFC822日期。
四文件即目录的操做
1 得到文件名:
basename();
给出一个包含有指向一个文件的全路径的字符串,本函数返回基本的文件名。若是文件名是以 suffix 结束的,那这一部分也会被去掉。
eg:
2 获得目录部分:
dirname();
给出一个包含有指向一个文件的全路径的字符串,本函数返回去掉文件名后的目录名。
eg:
3 获得路径关联数组
pathinfo();
获得一个指定路径中的三个部分:目录名,基本名,扩展名。
eg:
文件类型
1. filetype();
返回文件的类型。可能的值有 fifo,char,dir,block,link,file 和 unknown。
eg:
获得给定文件有用信息数组(颇有用)
1. fstat();
经过已打开的文件指针取得文件信息
获取由文件指针 handle 所打开文件的统计信息。本函数和 stat() 函数类似,除了它是做用于已打开的文件指针而不是文件名。
eg:
2. stat()
获取由 filename 指定的文件的统计信息(类比fstat())
计算大小
1. filesize()
返回文件大小的字节数,若是出错返回 FALSE 并生成一条 E_WARNING 级的错误。
eg:
2. disk_free_space()
得到目录所在磁盘分区的可用空间(字节单位)
eg
3. disk_total_space()
返回一个目录的磁盘总大小
eg:(同上,换掉函数)
另:如须要计算一个目录大小,能够编写一个递归函数来实现
访问与修改时间
1. fileatime(): 最后访问时间
2. filectime(): 最后改变时间(任何数据的修改)
3. filemtime(): 最后修改时间(指仅是内容修改)
文件的I/O操做
1. fopen -- 打开文件或者 URL
mode 说明
'r' 只读方式打开,将文件指针指向文件头。
'r+' 读写方式打开,将文件指针指向文件头。
'w' 写入方式打开,将文件指针指向文件头并将文件大小截为零。若是文件不存在则尝试建立之。
'w+' 读写方式打开,将文件指针指向文件头并将文件大小截为零。若是文件不存在则尝试建立之。
'a' 写入方式打开,将文件指针指向文件末尾。若是文件不存在则尝试建立之。
'a+' 读写方式打开,将文件指针指向文件末尾。若是文件不存在则尝试建立之。
'x' 建立并以写入方式打开,将文件指针指向文件头。若是文件已存在,则 fopen() 调用失败并返回 FALSE,
'x+' 建立并以读写方式打开,将文件指针指向文件头。若是文件已存在,则 fopen() 调用失败并返回 FALSE
eg:
2. file -- 把整个文件读入一个数组中(此函数是颇有用的)
和 file_get_contents() 同样,只除了 file() 将文件做为一个数组返回。数组中的每一个单元都是文件中相应的一行,包括换行符在内。若是失败 file() 返回 FALSE。
eg:
3. fgets -- 从文件指针中读取一行
从 handle 指向的文件中读取一行并返回长度最多为 length - 1 字节的字符串。碰到换行符(包括在返回值中)、EOF 或者已经读取了 length - 1 字节后中止(看先碰到那一种状况)。若是没有指定 length,则默认为 1K,或者说 1024 字节。
eg:
4. fgetss -- 从文件指针中读取一行并过滤掉 HTML 标记
和 fgets() 相同,只除了 fgetss 尝试从读取的文本中去掉任何 HTML 和 PHP 标记。
能够用可选的第三个参数指定哪些标记不被去掉
另:对的目录的操做:
1. opendir -- 打开目录句柄,打开一个目录句柄,可用于以后的 closedir(),readdir() 和 rewinddir() 调用中。
2. readdir -- 从目录句柄中读取条目,返回目录中下一个文件的文件名。文件名以在文件系统中的排序返回。
eg:
3. scandir -- 列出指定路径中的文件和目录(颇有用),返回一个 array,包含有 directory 中的文件和目录。
默认的排序顺序是按字母升序排列。若是使用了可选参数 sorting_order(设为 1),则排序顺序是按字母降序排列。
eg:
另外注:
对文件属性的操做(操做系统环境不一样,可能有所不同,这点要注意)
1文件是否可读:
boolis_readable ( string filename )
若是由 filename
指定的文件或目录存在而且可读则返回 TRUE。
记住 PHP 也许只能以运行 webserver 的用户名(一般为 'nobody')来访问文件。不计入安全模式的限制。
2 文件是否可写
bool is_writable ( string filename )
若是文件存在而且可写则返回 TRUE。filename
参数能够是一个容许进行是否可写检查的目录名。
记住 PHP 也许只能以运行 webserver 的用户名(一般为 'nobody')来访问文件。不计入安全模式的限制
3 检查文件是否存在
boolfile_exists ( string filename )
若是由 filename
指定的文件或目录存在则返回 TRUE,不然返回 FALSE
目录的操做
四: php经常使用到的sql语句
常规查询
1、查询表内容:
select * from `tablename`
select `nicheng` from `tablename`
select distinct `nicheng` from `tablename`
2、where查询:
select `id` from `tablename` where `id`>10 or (`id`<5)
3、in用法:
select * from `tablename` where `nicheng` in ('萧明', '秦城')
4、between用法:
select * from `tablename` where `id` between '003' and '009'
5、排序查询(ASC由小往大/DESC由大往小):
select id , mima from `tablename`
where `nicheng`='萧明'
order by `id` ASC
limit 0 , 30
6、查询表中数据项数:
select count(*) from `tablename`
7、查询字段中内容数量:
select `nicheng`, count(*) from `tablename` group by `nicheng`
模糊查询
SQL的模式匹配容许使用“_”匹配任何单个字符,而“%”匹配任意数目字符(包括零个字符):
1、查询以“萧”开头的数据:
select * from `tablename` where `nicheng` like "萧%"
2、查询以“城”结尾的数据:
select * from `tablename` where `nicheng` like "%城"
3、查询包含一个“敬”的数据:
select * from `tablename` where `nicheng` like "%敬%"
4、查询正好包含3个字符的名字,使用“_”模式字符:
select * from `tablename` where `nicheng` like "___"
正则表达式查询:
5、查询以z或Z开头的数据:
select * from `tablename` where `nicheng` regexp "^[zZ]"
select * from `tablename` where `nicheng` regexp "^[a-zA-Z]"
6、查询以g或G结尾的数据:
select * from `tablename` where `nicheng` regexp "g$"
多表查询:
1、多表查询:
$sql=mysql_query("select * from `tb_student`,`tb_sscore` where tb_=tb_ and tb_=$sno",$conn);
2、表的别名查询统计:
$sql=mysql_query("select * from `tb_student` as tb_s,`tb_sscore` as tb_c where tb_=tb_ and tb_=$sno",$conn);
3、合并结果集:
$sql=mysql_query("select `userid`,`username`,`sex`,`age` from `tb_worker1` union select `ygid`,`name`,`sex`,`age` from `tb_worker2`",$conn);
联合查询:
1、多表联合查询:
$sql=mysql_query("
select * from `tablename` where `nicheng` like "%敬%"
union
select * from `info` where `nicheng` like "张%"",$conn);
2、联合查询结果排序:
$sql=mysql_query("select * from `tb_1` union all select * from `tb_2` order by `age` desc",$conn);
3、条件联合查询:
$sql=mysql_query("select `pubname` from `tb_pub` group by `pubname` having `pubname`='人民邮电出版社' or `pubname`='机械工业出版社' union all select `pubname` from `tb_pub` group by `pubname` having `pubname`<>'人民邮电出版社' and `pubname`<>'机械工业出版社'",$conn);
SELECT t1 . * , ,
FROM uchome_tagspace t1
LEFT JOIN uchome_mtag t2 ON =
WHERE =1
多表查询
1、简约嵌套查询:
$sql=mysql_query("select * from `tb_student_score_info` where `sid` in (select `sid` from `tb_student_info` where `sid`=$sno)",$conn);
2、复杂嵌套查询:
$sql=mysql_query("select * from `tb_laborage` where `name` in (select `name` from `tb_dept` where `name` in (select `name` from `tb_personnel` where `knowledge`='本科'))",$conn);
3、嵌套查询应用:
$sql=mysql_query("select * from `tb_laborage` where `jbgz` ".$_POST[tj]." any(select `jbgz` from `tb_laborage` where name='".$_POST[name]."')",$conn);
4、IN子查询:
一、限定范围查询:
$sql=mysql_query("select * from `tb_student_score` where `sid` in (select `sid` from `tb_student_score` where `sid` between $from and $to) ",$conn);
二、查询记录信息:
$sql=mysql_query("select * from `tb_bookinfo` where `bookname` in (select `bookname` from `tb_bookinfo` where `bookname` like '%$bookname%') ",$conn);
排序分组
1、对数据进行降序查询:
$sql=mysql_query("select * from `tb_sp` order by `sl` desc",$conn);
2、对数据进行多条件排序查询:
$sql=mysql_query("select * from `tb_goods` order by `sl` desc,dj asc",$conn);
3、对统计结果进行排序:
$sql=mysql_query("select *,sum(num) as totalnum from `tb_bookinfo` group by `bookname` order by `totalnum` desc",$conn);
4、单列数据分组统计:
$sql=mysql_query("select *,sum(num) as totalnum from `tb_bookinfo` group by `bookname` order by `totalnum` desc",$conn);
5、多列数据分组统计:
$sql=mysql_query("select *,sum(xcsl) as xc,sum(x ssl) as xs from `tb_book1` group by `bookname` ",$conn);
6、多表分组统计:
$sql=mysql_query("select *,sum(tb_xs.x ssl) as xsl,sum(tb_) as kcl from `tb_bk`,`tb_xs` where tb_=tb_ group by `bookname` ",$conn);
汇集函数
1、汇总统计查询:
$sql=mysql_query("select sum(yy) as sumyy,sum(yw) as sumyw,sum(sx) as sumsx,sum(ls) as sumls from `tb_student_score` ",$conn);
2、均值统计查询:
$sql=mysql_query("select avg(yy) as avgyy,avg(yw) as avgyw,avg(sx) as avgsx,avg(ls) as avgls from `tb_student_score` ",$conn);
3、最小值统计查询:
$sql=mysql_query("select * from `tb_gemsell` where `outprice-inprice` in (select min(`outprice-inprice`) as minsell from `tb_gemsell`) ",$conn);
4、最大值统计查询:
$sql=mysql_query("select * from `tb_sale` where `sale` in (select max(sale) from `tb_sale` where month(xdate)=$yue and year(xdate)=2005)",$conn);
5、统计大于某值记录:
$sql=mysql_query("select count(*) as total from `tb_sale` where `sale`>$num",$conn);
一、mysql_connect()-创建数据库链接
格式:
resource mysql_connect([string hostname [:port] [:/path/to/socket] [, string username] [, string password]])
例:
$conn = @mysql_connect("localhost", "username", "password") or die("不能链接到Mysql Server");
说明:使用该链接必须显示的关闭链接
二、mysql_pconnect()-创建数据库链接
格式:
resource mysql_pconnect([string hostname [:port] [:/path/to/socket] [, string username] [, string password]])
例:
$conn = @mysql_pconnect("localhost", "username", "password") or dir("不能链接到Mysql Server");
说明:使用该链接函数不须要显示的关闭链接,它至关于使用了链接池
三、mysql_close()-关闭数据库链接
例:
$conn = @mysql_connect("localhost", "username", "password") or die("不能链接到Mysql Server");
@mysql_select_db("MyDatabase") or die("不能选择这个数据库,或数据库不存在");
echo "你已经链接到MyDatabase数据库";
mysql_close();
四、mysql_select_db()-选择数据库
格式:
boolean mysql_select_db(string db_name [, resource link_id])
例:
$conn = @mysql_connect("localhost", "username", "password") or die("不能链接到Mysql Server");
@mysql_select_db("MyDatabase") or die("不能选择这个数据库,或数据库不存在");
五、mysql_query()-查询MySQL
格式:
resource mysql_query (string query, [resource link_id])
例:
$linkId = @mysql_connect("localhost", "username", "password") or die("不能链接到Mysql Server");
@mysql_select_db("MyDatabase") or die("不能选择这个数据库,或者数据库不存在");
$query = "select * from MyTable";
$result = mysql_query($query);
mysql_close();
说明:若SQL查询执行成功,则返回资源标识符,失败时返回FALSE。若执行更新成功,则返回TRUE,不然返回FALSE
六、mysql_db_query()-查询MySQL
格式:
resource mysql_db_query(string database, string query [, resource link_id])
例:
$linkId = @mysql_connect("localhost", "username", "password") or die("不能链接到MysqlServer");
$query = "select * from MyTable";
$result = mysql_db_query("MyDatabase", $query);
mysql_close();
说明:为了使代码清晰,不推荐使用这个函数调用
七、mysql_result()-获取和显示数据
格式:
mixed mysql_result (resource result_set, int row [, mixed field])
例:
$query = "select id, name from MyTable order by name";
$result = mysql_query($query);
for($count=0;$count<=mysql_numrows($result);$count++)
{
$c_id = mysql_result($result, 0, "id");
$c_name = mysql_result($result, 0, "name");
echo $c_id,$c_name;
}
说明:最简单、也是效率最低的数据获取函数
八、mysql_fetch_row()-获取和显示数据
格式:
array mysql_fetch_row (resource result_set)
例:
$query = "select id, name from MyTable order by name";
$result = mysql_query($query);
while (list($id, $name) = mysql_fetch_row($result)) {
echo("Name: $name ($id) <br />");
}
说明:函数从result_set中获取整个数据行,将值放在一个索引数组中。一般会结使list()函数使用
九、mysql_fetch_array()-获取和显示数据
格式:
array mysql_fetch_array (resource result_set [, int result_type])
例:
$query = "select id, name from MyTable order by name";
$result = mysql_query($query);
while($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
$id = $row["id"];
$name = $row["name"];
echo "Name: $name ($id) <br />";
}
又例:
$query = "select id, name from MyTable order by name";
$result = mysql_query($query);
while($row = mysql_fetch_array($result, MYSQL_NUM)) {
$id = $row[0];
$name = $row[1];
echo "Name: $name ($id) <br />";
}
说明:
result_type的值有:
MYSQL_ASSOC: 字段名表示键,字段内容为值
MYSQL_NUM: 数值索引数组,操做与mysql_fetch_ros()函数同样
MYSQL_BOTH: 即做为关联数组又做为数值索引数组返回。result_type的默认值。
十、mysql_fetch_assoc()-获取和显示数据
格式:
array mysql_fetch_assoc (resource result_set)
至关于调用 mysql_fetch_array(resource, MYSQL_ASSOC);
十一、mysql_fetch_object()-获取和显示数据
格式:
object mysql_fetch_object(resource result_set)
例:
$query = "select id, name from MyTable order by name";
while ($row = mysql_fetch_object($result)) {
$id = $row->id;
$name = $row->name;
echo "Name: $name ($id) <br />";
}
说明:返回一个对象,在操做上与mysql_fetch_array()相同
十二、mysql_num_rows()-所选择的记录的个数
格式:
int mysql_num_rows(resource result_set)
例:
query = "select id, name from MyTable where id > 65";
$result = mysql_query($query);
echo "有".mysql_num_rows($result)."条记录的ID大于65";
说明:只在肯定select查询所获取的记录数时才有用。
1三、mysql_affected_rows()-受Insert,update,delete影响的记录的个数
格式:
int mysql_affected_rows([resource link_id])
例:
$query = "update MyTable set name='CheneyFu' where id>=5";
$result = mysql_query($query);
echo "ID大于等于5的名称被更新了的记录数:".mysql_affected_rows();
说明:该函数获取受INSERT,UPDATE或DELETE更新语句影响的行数
1四、mysql_list_dbs()-获取数据库列表信息
格式:
resource mysql_list_dbs([resource link_id])
例:
mysql_connect("localhost", "username", "password");
$dbs = mysql_list_dbs();
echo "Databases: <br />";
while (list($db) = mysql_fetch_rows($dbs)) {
echo "$db <br />";
}
说明:显示全部数据库名称
1五、mysql_db_name()-获取数据库名
格式:
string mysql_db_name(resource result_set, integer index)
说明:该函数获取在mysql_list_dbs()所返回result_set中位于指定index索引的数据库名
1六、mysql_list_tables()-获取数据库表列表
格式:
resource mysql_list_tables(string database [, resource link_id])
例:
mysql_connect("localhost", "username", "password");
$tables = mysql_list_tables("MyDatabase");
while (list($table) = mysql_fetch_row($tables)) {
echo "$table <br />";
}
说明:该函数获取database中全部表的表名
1七、mysql_tablename()-获取某个数据库表名
格式:
string mysql_tablename(resource result_set, integer index)
例:
mysql_connect("localhost", "username", "password");
$tables = mysql_list_tables("MyDatabase");
$count = -1;
while (++$count < mysql_numrows($tables)) {
echo mysql_tablename($tables, $count)."<br />";
}
说明:该函数获取mysql_list_tables()所返回result_set中位于指定index索引的表名
1八、mysql_fetch_field()-获取字段信息
格式:
object mysql_fetch_field(resource result [, int field_offset])
例:
mysql_connect("localhost", "username", "password");
mysql_select_db("MyDatabase");
$query = "select * from MyTable";
$result = mysql_query($query);
$counts = mysql_num_fields($result);
for($count = 0; $count < $counts; $count++) {
$field = mysql_fetch_field($result, $count);
echo "<p>$field->name $field->type ($field->max_length) </p>";
}
说明:
返回的对象共有12个对象属性:
name: 字段名
table: 字段所在的表
max_length:字段的最大长度
not_null: 若是字段不能为null,则为1,不然0
primary_key: 若是字段为主键,则为1,不然0
unique_key: 若是字段是惟一键,则为1, 不然0
multiple_key: 若是字段为非惟一,则为1,不然0
numeric: 若是字段为数值则为1,不然0
blob: 若是字段为BLOB则为1,不然为0
type: 字段的数据类型
unsigned: 若是字段为无符号数则为1,不然为0
zerofill: 若是字段为“零填充”则为1, 不然为0
1九、mysql_num_fields()-获取查询的字段个数
格式:
integer mysql_num_fields(resource result_set)
例:
$query = "select id,name from MyTable order by name";
$result = mysql_query($query);
echo "这个查询的字段数是:".mysql_num_fields($result)."<br />";
20、mysql_list_fields()-获取指定表的全部字段的字段名
格式:
resource mysql_list_fields (string database_name, string table_name [, resource link_id])
例:
$fields =mysql_list_fields("MyDatabase", "MyTable");
echo "数据库MyDatabase中表MyTable的字段数: ".mysql_num_fields($fields)."<br />";
2一、mysql_field_flags()-获取指定的字段选项
格式:
string mysql_field_flags (resource result_set, integer field_offset)
例:
$query = "select id, name from MyTable order by name";
$result = mysql_query($query);
$row=mysql_fetch_wor($row);
2二、mysql_field_len()-获取指定的字段的最大长度
格式:
integer mysql_field_len (resource result_set, integer field_offset)
例:
$query = "select name from MyTable";
$result = mysql_query($query);
$row = mysql_fetch_row($result);
echo mysql_field_len($result, 0)."<br />";
说明:
若是mysql_field_len($reseult, 0) = 16777215
那么numer_format(mysql_field_len($result))等于16,777,215
2三、mysql_field_name()-获取字段名
格式:
string mysql_field_name (resource result_set, int field_offset)
例:
$query = "select id as PKID, name from MyTable order by name";
$result = mysql_query($query);
$row = mysql_fetch_row($result);
echo mysql_field_name($result, 0); // Result: PKID
2四、mysql_field_type()-获取字段类型
格式:
string mysql_field_type (resource result_set, int field_offset)
例:
$query = "select id, name from MyTable order by name";
$result = mysql_query($query);
$row = mysql_fetch_row($result);
echo mysql_field_type($result, 0); // Result: int
2五、mysql_field_table()-获取字段所在表名
格式:
string mysql_field_table (resource result_set, int field_offset)
例:
$query = "select id as PKID, name from MyTable order by name";
$result = mysql_query($query);
$row = mysql_fetch_row($result);
echo mysql_field_table($result, 0); // Result: MyTable