php数据库函数
1:数据库连接:mysql_connect(DB_HOST,DB_USER,DB_PASSWORD) 返回一个资源句柄
mysql_connect() 建立一个到 MySQL 服务器的连接。当没有提供可选参数时使用以下默认值:server = 'localhost:3306',username = 服务器进程所有者的用户名,password = 空密码。 |
$conn = @mysql_connect(DB_HOST,DB_USER,DB_PASSWORD);
2:数据库选择:mysql_select_db(DB_NAME)
如果成功则返回 TRUE,失败则返回 FALSE。 mysql_select_db() 设定与指定的连接标识符所关联的服务器上的当前激活数据库。如果没有指定连接标识符,则使用上一个打开的连接。如果没有打开的连接,本函数将无参数调用 mysql_connect() 来尝试打开一个并使用之。 每个其后的 mysql_query() 调用都会作用于活动数据库。 |
mysql_select_db(DB_NAME)
3:数据库操作:mysql_query()增删查改,设置字符集
: 向与指定的连接标识符关联的服务器中的当前活动数据库发送一条查询。如果没有指定 link_identifier,则使用上一个打开的连接。如果没有打开的连接,本函数会尝试无参数调用 mysql_connect() 函数来建立一个连接并使用之。查询结果会被缓存。 |
假定查询成功,可以调用 mysql_num_rows() 来查看对应于 SELECT 语句返回了多少行,或者调用 mysql_affected_rows() 来查看对应于 DELETE,INSERT,REPLACE 或 UPDATE 语句影响到了多少行。 |
3.1:mysql_query()设置字符集:
mysql_query('SET NAMES UTF8')
3.2:PS:
mysql_query() 仅对 SELECT,SHOW,EXPLAIN 或 DESCRIBE 语句返回一个资源标识符 |
4:提取数据 mysql_fetch_array()第一个参数是一个查询到的资源句柄 通常是mysql_query()返回值5:
mysql_fetch_array -- 从结果集中取得一行作为关联数组,或数字数组,或二者兼有 |
mysql_fetch_array() 中可选的第二个参数 result_type 是一个常量,可以接受以下值:MYSQL_ASSOC,MYSQL_NUM 和 MYSQL_BOTH。本特性是 PHP 3.0.7 起新加的。本参数的默认值是 MYSQL_BOTH。
|
如果用了 MYSQL_BOTH,将得到一个同时包含关联和数字索引的数组。用 MYSQL_ASSOC 只得到关联索引(如同 mysql_fetch_assoc() 那样),用 MYSQL_NUM 只得到数字索引(如同 mysql_fetch_row() 那样)。 |
5:mysql_fetch_array 如何连续取出数据:
可以先使用mysql_query()获取查询结果资源句柄,在while循环列出:
$_result = query($_sql);
while(!!$_rows = mysql_fetch_array($_result)){}
6 :影响行数
6.1:mysql_affected_rows: INSERT,UPDATE 或 DELETE 语句
int : ( [resource link_identifier]) mysql_affected_rows() 返回最近一次与 连接句柄 关联的 INSERT,UPDATE 或 DELETE 查询所影响的记录行数。如果连接句柄没有指定, 则默认使用最近一次由 mysql_connect() 函数打开的连接句柄。 |
6.2:mysql_num_rows -- 取得结果集中行的数目,只限于select语句只限于
mysql_num_rows -- 取得结果集中行的数目 mysql_num_fields -- 取得结果集中字段的数目 |
int mysql_num_rows ( resource result) mysql_num_rows() 返回结果集中行的数目。此命令仅对 SELECT 语句有效 |
7:数据库关闭:
mysql_close() 关闭指定的连接标识所关联的到 MySQL 服务器的连接。如果没有指定 link_identifier,则关闭上一个打开的连接。 |
8:销毁结果集:
bool mysql_free_result ( resource result) mysql_free_result() 将释放所有与结果标识符 result 所关联的内存。 mysql_free_result() 仅需要在考虑到返回很大的结果集时会占用多少内存时调用。在脚本结束后所有关联的内存都会被自动释放。 |
9:错误:
9.1:mysql_error:错误文本
string mysql_error ( [resource link_identifier]) 返回上一个 MySQL 函数的错误文本,如果没有出错则返回 ''(空字符串)。如果没有指定连接资源号,则使用上一个成功打开的连接从 MySQL 服务器提取错误信息。 从 MySQL 数据库后端来的错误不再发出警告,要用 mysql_error() 来提取错误文本。注意本函数仅返回最近一次 MySQL 函数的执行(不包括 mysql_error() 和 mysql_errno())的错误文本,因此如果要使用此函数,确保在调用另一个 MySQL 函数之前检查它的值。 |
9.2 :mysql_errno :错误号码
int mysql_errno ( [resource link_identifier]) 返回上一个 MySQL 函数的错误号码,如果没有出错则返回 0(零)。 从 MySQL 数据库后端来的错误不再发出警告,要用 mysql_errno() 来提取错误代码。注意本函数仅返回最近一次 MySQL 函数的执行(不包括 mysql_error() 和 mysql_errno())的错误代码,因此如果要使用此函数,确保在调用另一个 MySQL 函数之前检查它的值。 |
10:特殊字符转义:mysql_real_escape_string
// 转义数据库特殊字符
function mysql_string($_string){
if(!get_magic_quotes_gpc()){
if(is_array($_string)){
foreach($_string as $_key=>$_value){
$_string[$_key] = mysql_string($_value);
}
}else{
$_string = mysql_real_escape_string($_string);
}
}
return $_string;
}
11:信息类:
mysql_get_client_info -- 取得 MySQL 客户端信息
mysql_get_host_info -- 取得 MySQL 主机信息
mysql_get_proto_info -- 取得 MySQL 协议信息
mysql_get_server_info -- 取得 MySQL 服务器信息
12:其他
12.1:
mysql_insert_id -- 取得上一步 INSERT 操作产生的 ID |
12.2:废弃的函数:
mysql_create_db('数据库名') -- 新建一个 MySQL 数据库
mysql_db_query -- 发送一条 MySQL 查询
mysql_drop_db -- 丢弃(删除)一个 MySQL 数据库
mysql_list_tables -- 列出 MySQL 数据库中的表 该函数已经被删除了,可以用命令 SHOW TABLES FROM DATABASE 来实现该函数的功能
mysql_result -- 取得结果数据
12.3:
mysql_change_user -- 改变活动连接中登录的用户
mysql_client_encoding -- 返回字符集的名称
mysql_list_dbs -- 列出 MySQL 服务器中所有的数据库
mysql_list_fields-- 取得给定表名的信息。参数是数据库名和表名。返回一个结果指针
mysql_list_tables() 接受一个数据库名并返回和 mysql_query() 函数很相似的一个结果指针。用 mysql_tablename() 函数来遍历此结果指针,或者任何使用结果表的函数,例如 mysql_fetch_array()。
mysql_thread_id -- 返回当前线程的 ID
mysql_tablename() 接受 mysql_list_tables() 返回的结果指针以及一个整数索引作为参数并返回表名。可以用 mysql_num_rows() 函数来判断结果指针中的表的数目。用 mysql_tablename() 函数来遍历此结果指针,或者任何处理结果表的函数,例如 mysql_fetch_array()
mysql_unbuffered_query -- 向 MySQL 发送一条 SQL 查询,并不获取和缓存结果的行
mysql_data_seek() 将指定的结果标识所关联的 MySQL 结果内部的行指针移动到指定的行号。接着调用 mysql_fetch_row() 将返回那一行。
mysql_field_name -- 取得结果中指定字段的字段名
mysql_field_type -- 取得结果集中指定字段的类型
mysql_field_table -- 取得指定字段所在的表名
mysql_field_seek -- 将结果集中的指针设定为制定的字段偏移量
mysql_fetch_lengths -- 取得结果集中每个输出的长度
mysql_field_len -- 返回指定字段的长度