不要心存侥幸,避免贪婪的心作怪,这会令你思考发生短路。如果你不是步步踏实,就容易掉入不切实际的冒险。
本函数库供存取MySQL数据库。有关MySQL的细节,及下载MySQL数据库,请到这个网址http://www.mysql.com。而网络上也有许多提供处理MySQL的用户界面程序,建议到http://www.phpwizard.net/phpMyAdmin下载phpMyAdmin,可以使用浏览器操作及管理MySQL。整套phpMyAdmin程序,是用PHP3完成的,亦可同时研究PHP3与MySQL的链接。mysql_affected_rows:得到MySQL最后操作影响的列数目。 mysql_close:关闭MySQL服务器连接。
mysql_connect:打开MySQL服务器连接。
mysql_create_db:建立一个MySQL新数据库。
mysql_data_seek:移动内部返回指针。
mysql_db_query:送查询字符串(query)到MySQL数据库。
mysql_drop_db:移除数据库。
mysql_errno:返回错误信息代码。
mysql_error:返回错误信息。
mysql_fetch_array:返回数组资料。
mysql_fetch_field:取得字段信息。
mysql_fetch_lengths:返回单列各栏资料最大长度。
mysql_fetch_object:返回类资料。
mysql_fetch_row:返回单列的各字段。
mysql_field_name:返回指定字段的名称。
mysql_field_seek:配置指针到返回值的某字段。
mysql_field_table:获得目前字段的资料表(table)名称。
mysql_field_type:获得目前字段的类型。
mysql_field_flags:获得目前字段的标志。
mysql_field_len:获得目前字段的长度。
mysql_free_result:释放返回占用内存。
mysql_insert_id:返回最后一次使用INSERT指令的ID。
mysql_list_fields:列出指定资料表的字段(field)。
mysql_list_dbs:列出MySQL服务器可用的数据库(database)。
mysql_list_tables:列出指定数据库的资料表(table)。
mysql_num_fields:取得返回字段的数目。
mysql_num_rows:取得返回列的数目。
mysql_pconnect:打开MySQL服务器持续连接。
mysql_query:送出一个query字符串。
mysql_result:取得查询(query)的结果。
mysql_select_db:选择一个数据库。
mysql_tablename:取得资料表名称。 mysql_affected_rows
得到MySQL最后操作影响的列数目。
语法:intmysql_affected_rows(int[link_identifier]);
返回值:整数
函数种类:数据库功能
内容说明:本函数可得到MySQL最后查询操作INSERT、UPDATE或DELETE所影响的列(row)数目。若最后的查询(query)是使用DELETE而且没有使用WHERE命令,则会删除全部资料,本函数将返回0。若最后使用的是SELECT,则用本函数不会得到预期的数目,因为要改变MySQL数据库本函数才有效,欲得到SELECT返回的数目需使用mysql_num_rows()函数。 mysql_close
关闭MySQL服务器连接。
语法:intmysql_close(int[link_identifier]);
返回值:整数
函数种类:数据库功能
内容说明:本函数关闭与MySQL数据库服务器的连接。若无指定参数link_identifier则会关闭最后的一笔连接。用mysql_pconnect()连接则无法使用本函数关闭。实际上本函数不是一定需要的,当PHP整页程序结束后,将会自动关闭与数据库的非永久性(non-persistent)连接。成功返回true、失败返回false值。
参考:mysql_connect()mysql_pconnect() mysql_connect
打开MySQL服务器连接。
语法:intmysql_connect(string[hostname][:port],string[username],string[password]);
返回值:整数
函数种类:数据库功能
内容说明:本函数建立与MySQL服务器的连接。其中所有的参数都可省略。当使用本函数却不加任何参数时,参数hostname的默认值为localhost、参数username的默认值为PHP执行行程的拥有者、参数password则为空字符串(即没有密码)。而参数hostname后面可以加冒号与埠号,代表使用那个埠与MySQL连接。当然在使用数据库时,早点使用mysql_close()将连接关掉可以节省资源。
使用范例
这是一位未具名网友提供的范例(18-Feb-1999)
<?php
$dbh=mysql_connect('localhost:3306','mcclain','standard');
mysql_select_db('admreqs');
$query="insertintorequests(date,request,email,priority,status)values(NOW(),'$description','$email','$priority','NEW')";
$res=mysql_query($query,$dbh);
$query="selectmax(id)fromrequests";
$res=mysql_query($query,$dbh);
$err=mysql_error();
if($err){
echo"发生错误,请通知<arel="nofollow noopener noreferrer" href=mailto:webmaster@my.site>站长</a>";
}
$row=mysql_fetch_row($res);
echo"未来您使用的号码为:".$row[0];
?>
参考:mysql_close()mysql_pconnect() mysql_create_db
建立一个MySQL新数据库。
语法:intmysql_create_db(stringdatabasename,int[link_identifier]);
返回值:整数
函数种类:数据库功能
内容说明:本函数用来建立新的数据库(database)。在建立前,必须先与服务器连接。
参考:mysql_drop_db() mysql_data_seek
移动内部返回指针。
语法:intmysql_data_seek(intresult_identifier,introw_number);
返回值:整数
函数种类:数据库功能
内容说明:本函数可移动内部返回的列指针到指定的row_number去。之后若使用mysql_fetch_row()可以返回新列的值。成功返回true、失败则返回false。 mysql_db_query
送查询字符串(query)到MySQL数据库。
语法:intmysql_db_query(stringdatabase,stringquery,int[link_identifier]);
返回值:整数
函数种类:数据库功能
内容说明:本函数用来送出查询字符串(query)到后端的MySQL数据库中。而可省略的参数link_identifier若不存在,程序会自动寻找其它mysql_connect()连接后的连接代码。发生错误时会返回false,其它没错误时则返回它的返回代码。
参考:mysql_connect() mysql_drop_db
移除数据库。
语法:intmysql_drop_db(stringdatabase_name,int[link_identifier]);
返回值:整数
函数种类:数据库功能
内容说明:本函数移除已存在的数据库。成功返回true、失败则返回false。
参考:mysql_create_db() mysql_errno
返回错误信息代码。
语法:intmysql_errno(int[link_identifier]);
返回值:整数
函数种类:数据库功能
内容说明:本函数可以得到MySQL数据库服务器的错误代码。通常用在PHP网页程序开发阶段,作为PHP与MySQL的除错用。
使用范例
<?php
mysql_connect("marliesle");
echomysql_errno().":".mysql_error()."<BR>";
mysql_select_db("nonexistentdb");
echomysql_errno().":".mysql_error()."<BR>";
$conn=mysql_query("SELECT*FROMnonexistenttable");
echomysql_errno().":".mysql_error()."<BR>";
?>
参考:mysql_error() mysql_error
返回错误信息。
语法:stringmysql_error(int[link_identifier]);
返回值:字符串
函数种类:数据库功能
内容说明:本函数可以得到MySQL数据库服务器的错误信息。通常用在PHP网页程序开发阶段,与mysql_errno()一起作为PHP与MySQL的除错用。
参考:mysql_errno() mysql_fetch_array
返回数组资料。
语法:arraymysql_fetch_array(intresult,int[result_typ]);
返回值:数组
函数种类:数据库功能
内容说明:本函数用来将查询结果result拆到数组变量中。若result没有资料,则返回false值。而本函数可以说是mysql_fetch_row()的加强函数,除可以将返回列及数字索引放入数组之外,还可以将文字索引放入数组中。若是好几个返回字段都是相同的文字名称,则最后一个置入的字段有效,解决方法是使用数字索引或者为这些同名的字段(column)取别名(alias)。治募注意的是使用本函数的处理速度其实不会比mysql_fetch_row()函数慢,要用哪个函数还是看使用的需求决定。参数result_typ是一个常量值,有以下几种常量MYSQL_ASSOC、MYSQL_NUM与MYSQL_BOTH。
使用范例
<?php
mysql_connect($host,$user,$password);
$result=mysql_db_query("database","select*fromtable");
while($row=mysql_fetch_array($result)){
echo$row["user_id"];
echo$row["fullname"];
}
mysql_free_result($result);
?> mysql_fetch_field
取得字段信息。
语法:objectmysql_fetch_field(intresult,int[field_offset]);
返回值:类
函数种类:数据库功能
内容说明:本函数返回的类资料为result的字段(Column)信息。返回类的属性如下:
name-字段名称
table-字段所在表格的资料表名称
max_length-字段的最大长度
not_null-若为1表示本字段不能是空的(null)
primary_key-若为1表示本字段是主要键(primarykey)
unique_key-若为1表示本字段为不可重覆键(uniquekey)
multiple_key-若为1表示本字段为可重覆键(non-uniquekey)
numeric-若为1表示本字段为数字类型(numeric)
blob-若为1表示本字段为位类型(BLOB)
type-字段类型
unsigned-若为1表示本字段为无记号(unsigned)
zerofill-若为1表示本字段为被零填满(zero-filled)
参考:mysql_field_seek() mysql_fetch_lengths
返回单列各栏资料最大长度。
语法:arraymysql_fetch_lengths(intresult);
返回值:数组
函数种类:数据库功能
内容说明:本函数将mysql_fetch_row()处理过的最后一列资料的各字段资料最大长度放在数组变量之中。若执行失败则返回false值。返回数组的第一笔资料索引值是0。
参考:mysql_fetch_row() mysql_fetch_object
返回类资料。
语法:objectmysql_fetch_object(intresult,int[result_typ]);
返回值:类
函数种类:数据库功能
内容说明:本函数用来将查询结果result拆到类变量中。使用方法和mysql_fetch_array()几乎相同,不同的地方在于本函数返回资料是类而不是数组。若result没有资料,则返回false值。另外治募注意的地方是,取回的类资料的索引只能是文字而不能用数字,这是因为类的特性。类资料的特性中所有的属性(property)名称都不能是数字,因此只好乖乖使用文字字符串当索引了。参数result_typ是一个常量值,有以下几种常量MYSQL_ASSOC、MYSQL_NUM与MYSQL_BOTH。关于速度方面,本函数的处理速度几乎和mysql_fetch_row()及mysql_fetch_array()二函数差不多,要用哪个函数还是看使用的需求决定。
使用范例
下面的例子示范如使用返回的类。
<?php
mysql_connect($host,$user,$password);
$result=mysql_db_query("MyDatabase","select*fromtest");
while($row=mysql_fetch_object($result)){
echo$row->user_id;
echo$row->fullname;
}
mysql_free_result($result);
?>
参考:mysql_fetch_array()mysql_fetch_row() mysql_fetch_row
返回单列的各字段。
语法:arraymysql_fetch_row(intresult);
返回值:数组
函数种类:数据库功能
内容说明:本函数用来将查询结果result之单列拆到数组变量中。数组的索引是数字索引,第一个的索引值是0。若result没有资料,则返回false值。
参考:mysql_fetch_array()mysql_fetch_object()mysql_data_seek()mysql_fetch_lengths()mysql_result() mysql_field_name
返回指定字段的名称。
语法:stringmysql_field_name(intresult,intfield_index);
返回值:字符串
函数种类:数据库功能
内容说明:本函数用来取得指定字段的名称。
使用范例
mysql_field_name($result,2); mysql_field_seek
配置指针到返回治募某字段。
语法:intmysql_field_seek(intresult,intfield_offset);
返回值:整数
函数种类:数据库功能
内容说明:本函数配置目前的指针到返回治募特定字段中。
参考:mysql_fetch_field() mysql_field_table
获得目前字段的资料表(table)名称。
语法:stringmysql_field_table(intresult,intfield_offset);
返回值:字符串
函数种类:数据库功能
内容说明:本函数可以得到目前所在字段的资料表名。 mysql_field_type
获得目前字段的类型。
语法:stringmysql_field_type(intresult,intfield_offset);
返回值:字符串
函数种类:数据库功能
内容说明:本函数可以得到目前所在字段的类型格式。返回的字符串为字段的类型,包括了int、real、string、blob....等等,详见MySQL的相关文件中有关于类型的部份。
使用范例
<?php
mysql_connect("localhost:3306");
mysql_select_db("wisconsin");
$result=mysql_query("SELECT*FROMonek");
$fields=mysql_num_fields($result);
$rows=mysql_num_rows($result);
$i=0;
$table=mysql_field_table($result,$i);
echo"资料表'".$table."'有".$fields."栏及".$rows."列。<br>";
echo"本资料表的字段如下<br>";
while($i<$fields){
$type=mysql_field_type($result,$i);
$name=mysql_field_name($result,$i);
$len=mysql_field_len($result,$i);
$flags=mysql_field_flags($result,$i);
echo$type."".$name."".$len."".$flags."<br>";
$i++;
}
mysql_close();
?> mysql_field_flags
获得目前字段的标志。
语法:stringmysql_field_flags(intresult,intfield_offset);
返回值:字符串
函数种类:数据库功能
内容说明:本函数可以得到目前所在字段的标志。若一个字段有数种属性标志,则返回的标志为这些属性连起来的字符串,每个属性都用空格隔开,可以使用explode()切开这些字符串。返回的标志可能是:not_null、primary_key、unique_key、multiple_key、blob、unsigned、zerofill、binary、enum、auto_increment、timestamp。 mysql_field_len
获得目前字段的长度。
语法:intmysql_field_len(intresult,intfield_offset);
返回值:整数
函数种类:数据库功能
内容说明:本函数可以得到目前所在字段的长度。 mysql_free_result
释放返回占用内存。
语法:booleanmysql_free_result(intresult);
返回值:布尔值
函数种类:数据库功能
内容说明:本函数可以释放目前MySQL数据库query返回所占用的内存。一般只有在非常担心在内存的使用上可能会不足的情形下才会用本函数。PHP程序会在结束时自动释放。 mysql_insert_id
返回最后一次使用INSERT指令的ID。
语法:intmysql_insert_id(int[link_identifier]);
返回值:整数
函数种类:数据库功能
内容说明:本函数可以得到最后一次使用INSERT到MySQL数据库的执行ID。sleibowitz@btcwcu.org(13-May-1999)指出在PHP3.0.7版用REPLACE也和使用INSERT一样,可以使用本函数获得ID。 mysql_list_fields
列出指定资料表的字段(field)。
语法:intmysql_list_fields(stringdatabase_name,stringtable_name,int[link_identifier]);
返回值:整数
函数种类:数据库功能
内容说明:本函数可以得到指定的资料表的所有字段。返回的字段信息可以供mysql_field_flags()、mysql_field_len()、mysql_field_name()及mysql_field_type()等函数使用。若有错误则返回-1。 mysql_list_dbs
列出MySQL服务器可用的数据库(database)。
语法:intmysql_list_dbs(int[link_identifier]);
返回值:整数
函数种类:数据库功能
内容说明:本函数可以得到MySQL服务器的可用数据库。 mysql_list_tables
列出指定数据库的资料表(table)。
语法:intmysql_list_tables(stringdatabase,int[link_identifier]);
返回值:整数
函数种类:数据库功能
内容说明:本函数可以得到指定数据库中的所有资料表名称。 mysql_num_fields
取得返回字段的数目。
语法:intmysql_num_fields(intresult);
返回值:整数
函数种类:数据库功能
内容说明:本函数可以得到返回字段的数目。
参考:mysql_db_query()mysql_query()mysql_fetch_field()mysql_num_rows() mysql_num_rows
取得返回列的数目。
语法:intmysql_num_rows(intresult);
返回值:整数
函数种类:数据库功能
内容说明:本函数可以得到返回列的数目。
参考:mysql_db_query()mysql_query()mysql_fetch_row() mysql_pconnect
打开MySQL服务器持续连接。
语法:intmysql_pconnect(string[hostname][:port],string[username],string[password]);
返回值:整数
函数种类:数据库功能
内容说明:本函数和mysql_connect()雷同。不同的地方在于使用本函数打开数据库时,程序会先寻找是否曾经执行过本函数,若执行过则返回先前执行的ID。另一个不同的地方是本函数无法使用mysql_close()关闭数据库。 mysql_query
送出一个query字符串。
语法:intmysql_query(stringquery,int[link_identifier]);
返回值:整数
函数种类:数据库功能
内容说明:本函数送出query字符串供MySQL做相关的处理或者执行。若没有指定link_identifier参数,则程序会自动寻找最近打开的ID。当query查询字符串是UPDATE、INSERT及DELETE时,返回的可能是true或者false;查询的字符串是SELECT则返回新的ID值。joey@samaritan.com(09-Feb-1999)指出,当返回false时,并不是执行成功但无返回值,而是查询的字符串有错误。
参考:mysql_db_query()mysql_select_db()mysql_connect() mysql_result
取得查询(query)的结果。
语法:intmysql_result(intresult,introw,mixedfield);
返回值:整数
函数种类:数据库功能
内容说明:本函数取得一格query的结果。参数field可以是字段名称、顺序或者是FieldName.TableName的格式。在返回资料量少时,可以使用本函数来处理。当数据库大时,本函数的效率就有待考量了,这时可以使用较有效率的mysql_fetch_row()、mysql_fetch_array()及mysql_fetch_object()等函数。 mysql_select_db
选择一个数据库。
语法:intmysql_select_db(stringdatabase_name,int[link_identifier]);
返回值:整数
函数种类:数据库功能
内容说明:本函数选择MySQL服务器中的数据库以供之后的资料查询作业(query)处理。成功返回true,失败则返回false。
参考:mysql_connect()mysql_pconnect()mysql_query() mysql_tablename
取得资料表名称。
语法:stringmysql_tablename(intresult,inti);
返回值:字符串
函数种类:数据库功能
内容说明:本函数可取得资料表名称字符串,一般配合mysql_list_tables()函数使用,取得该函返回的数字的名称字符串。
使用范例
<?php
mysql_connect("localhost:3306");
$result=mysql_list_tables("wisconsin");
$i=0;
while($i<mysql_num_rows($result)){
$tb_names[$i]=mysql_tablename($result,$i);
echo$tb_names[$i]."<BR>";
$i++;
}
?>
本文MySQL数据库函数库到此结束。人的生命恰似一部小说,其价值在于贡献而不在于短长。小编再次感谢大家对我们的支持!