MySQL相关说明

时间:2021-05-26

资源类型
在MySQL模块中使用了两种资源类型。第一种是数据库的连接句柄,第二种是SQL查询返回的结果集。

预定义常量
以下常量由本扩展模块定义,因此只有在本扩展模块被编译到PHP中,或者在运行时被动态加载后才有效。

在PHP4.3.0以后的版本中,允许在mysql_connect()函数和mysql_pconnect()函数中指定更多的客户端标记。下面列出所定义的常量:

表格2.MySQL客户端常量

常量描述
MYSQL_CLIENT_COMPRESS使用压缩的通讯协议
MYSQL_CLIENT_IGNORE_SPACE允许在函数名后留空格位
MYSQL_CLIENT_INTERACTIVE允许设置断开连接之前所空闲等候的interactive_timeout时间(代替wait_timeout)。
MYSQL_CLIENT_SSL使用SSL加密。本标志仅在MySQL客户端库版本为4.x或更高版本时可用。在PHP4和Windows版的PHP5安装包中绑定的都是3.23.x。


mysql_fetch_array()函数使用一个常量来表示所返回数组的类型。下面是常量的定义:

表格3.MySQLfetch常量

常量描述
MYSQL_ASSOC返回的数据列使用字段名作为数组的索引名。
MYSQL_BOTH返回的数据列使用字段名及数字索引作为数组的索引名。
MYSQL_NUM返回的数据列使用数字索引作为数组的索引名。索引从0开始,表示返回结果的第一个字段。


注释
注:大多数MySQL函数都接受link_identifier作为最后一个可选参数。如果未提供此参数,则使用最后一个打开的连接。如果不存在连接,则会用php.ini中定义的默认参数去尝试建立连接。如果连接不成功,函数返回FALSE。

范例
下面的简单例子演示如何连接数据库,执行查询语句,打印返回结果集和断开数据库等一系列基本的MySQL操作。例子1.MySQL例子

<?php
//连接,选择数据库
$link=mysql_connect('mysql_host','mysql_user','mysql_password')
ordie('Couldnotconnect:'.mysql_error());
echo'Connectedsuccessfully';
mysql_select_db('my_database')ordie('Couldnotselectdatabase');

//执行SQL查询
$query='Select*FROMmy_table';
$result=mysql_query($query)ordie('Queryfailed:'.mysql_error());

//用HTML显示结果
echo"<table>\n";
while($line=mysql_fetch_array($result,MYSQL_ASSOC)){
echo"\t<tr>\n";
foreach($lineas$col_value){
echo"\t\t<td>$col_value</td>\n";
}
echo"\t</tr>\n";
}
echo"</table>\n";

//释放结果集
mysql_free_result($result);

//关闭连接
mysql_close($link);
?>



目录
mysql_affected_rows--取得前一次MySQL操作所影响的记录行数
mysql_change_user--改变活动连接中登录的用户
mysql_client_encoding--返回字符集的名称
mysql_close--关闭MySQL连接
mysql_connect--打开一个到MySQL服务器的连接
mysql_create_db--新建一个MySQL数据库
mysql_data_seek--移动内部结果的指针
mysql_db_name--取得结果数据
mysql_db_query--发送一条MySQL查询
mysql_drop_db--丢弃(删除)一个MySQL数据库
mysql_errno--返回上一个MySQL操作中的错误信息的数字编码
mysql_error--返回上一个MySQL操作产生的文本错误信息
mysql_escape_string--转义一个字符串用于mysql_query
mysql_fetch_array--从结果集中取得一行作为关联数组,或数字数组,或二者兼有
mysql_fetch_assoc--从结果集中取得一行作为关联数组
mysql_fetch_field--从结果集中取得列信息并作为对象返回
mysql_fetch_lengths--取得结果集中每个输出的长度
mysql_fetch_object--从结果集中取得一行作为对象
mysql_fetch_row--从结果集中取得一行作为枚举数组
mysql_field_flags--从结果中取得和指定字段关联的标志
mysql_field_len--返回指定字段的长度
mysql_field_name--取得结果中指定字段的字段名
mysql_field_seek--将结果集中的指针设定为制定的字段偏移量
mysql_field_table--取得指定字段所在的表名
mysql_field_type--取得结果集中指定字段的类型
mysql_free_result--释放结果内存
mysql_get_client_info--取得MySQL客户端信息
mysql_get_host_info--取得MySQL主机信息
mysql_get_proto_info--取得MySQL协议信息
mysql_get_server_info--取得MySQL服务器信息
mysql_info--取得最近一条查询的信息
mysql_insert_id--取得上一步Insert操作产生的ID
mysql_list_dbs--列出MySQL服务器中所有的数据库
mysql_list_fields--列出MySQL结果中的字段
mysql_list_processes--列出MySQL进程
mysql_list_tables--列出MySQL数据库中的表
mysql_num_fields--取得结果集中字段的数目
mysql_num_rows--取得结果集中行的数目
mysql_pconnect--打开一个到MySQL服务器的持久连接
mysql_ping--Ping一个服务器连接,如果没有连接则重新连接
mysql_query--发送一条MySQL查询
mysql_real_escape_string--转义SQL语句中使用的字符串中的特殊字符,并考虑到连接的当前字符集
mysql_result--取得结果数据
mysql_select_db--选择MySQL数据库
mysql_stat--取得当前系统状态
mysql_tablename--取得表名
mysql_thread_id--返回当前线程的ID
mysql_unbuffered_query--向MySQL发送一条SQL查询,并不获取和缓存结果的行

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章