PHP中的MySQL函数

mysql_affected_rows — 是返回上一次操作所影响的条目数


mysql_change_user — 修改MySQL的用户名


mysql_client_encoding — 返回MySQL默认字符集的名称


mysql_close — 关闭一个MySQL连接资源


mysql_connect — 建立一个MySQL数据库连接


mysql_create_db — 建立一个数据库


mysql_data_seek — 按要求移动数据资源内部的指针


mysql_db_name — 获取mysql_list_dbs()返回的列表资源中的某个数据表的名称


mysql_db_query — 发送一条 MySQL 查询(不赞成使用的函数)


mysql_drop_db — 删除一个数据库。


mysql_errno — 获取MySQL错误信息的数字编号


mysql_error — 获取MySQL捕获的错误信息


mysql_escape_string — 对一个要写入数据库的内容进行转义(不赞成使用的函数)


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_query()函数中得到的数据资源


mysql_get_client_info — 获取客户端的信息


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_list_processes — 获取所有的MySQL进程数据


mysql_list_tables — 显示一个数据库的所有数据表


mysql_num_fields — 获取一个数据资源中的字段数量


mysql_num_rows — 获取数据资源中的行数


mysql_pconnect — 建立一个持久的MySQL数据库连接


mysql_ping — Ping一个服务器连接,如果没有连接则重新连接


mysql_query — 执行一条MySQL命令


mysql_real_escape_string — 对一个要写入数据库的内容进行转义


mysql_result — 获取指定行数,指定偏移量的单个数据


mysql_select_db — 指定一个数据库


mysql_stat — 获取MySQL连接的相关信息


mysql_tablename — 通过mysql_list_tables()函数返回的列表资源进行操作显示数据数据表


mysql_thread_id — 返回当前的MySQL线程的ID


mysql_unbuffered_query — 和mysql_query()函数类似,但是不会缓存数据资源


依照这样的数据库结构来完成下面的所有测试代码:


CREATE TABLE `users` (


`id` int(10) unsigned NOT NULL auto_increment,


`name` varchar(255) NOT NULL,


`age` int(10) unsigned NOT NULL,


`sex` varchar(255) NOT NULL,


PRIMARY KEY (`id`)


) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=10 ;





– Dumping data for table `users`





INSERT INTO `users` (`id`, `name`, `age`, `sex`) VALUES


(1, 'samon', 25, 'male'),


(2, 'skarite', 25, 'female'),


(3, 'tom', 23, 'male'),


(4, 'michael', 26, 'male'),


(5, 'allen', 24, 'female'),


(6, 'yoyo', 27, 'male');


mysql_connect()函数的作用是建立一个数据库连接。mysql_connect()函数有五个参数,第一个参数表示主机地址和端口(或者一个本地的socket),第二个参数表示数据库用户名,第三个参数表示数据库访问密码,第四个参数如果设置为true,则强制每次访问数据库的时候建立一个新的连接,第五个参数有4个常量可以选择:MYSQL_CLIENT_SSL表示传输时使用安全套接字, MYSQL_CLIENT_COMPRESS表示使用压缩协议,MYSQL_CLIENT_IGNORE_SPACE表示允许在函数后面有空格, MYSQL_CLIENT_INTERACTIVE作用不祥。mysql_pconnect()函数有四个参数,少了mysql_connect()函数的第四个参数。注意mysql_pconnect()函数只能在模块化安装PHP的时候使用。


<?php


mysql_connect('localhost','root','');


?>


mysql_select_db()函数的作用是指定一个数据库(在连接MySQL之后), mysql_select_db()函数有两个参数,第一个表示数据库的名称,第二个参数表示数据库的连接资源(resource),资源是由 mysql_connect()函数连接数据库之后返回保存句柄的数据类型。


<?php


$mysql_resource = mysql_connect('localhost','root','');


mysql_select_db('test_mysql',$mysql_resource);


?>


mysql_close()函数的作用是关闭一个MySQL连接资源,mysql_close()函数有一个参数,表示数据库的连接资源(resource)。使用mysql_pconnect函数连接的资源无法使用mysql_close()函数关闭。


<?php


$mysql_resource = mysql_connect('localhost','root','');


mysql_close($mysql_resource);


?>


mysql_query()函数的作用是执行一条MySQL命令,对于SELECT,SHOW,DESCRIBE,EXPLAIN等操作会返回资源类型,对于UPDATE,DELETE,DROP等则会返回true或者false。 mysql_query()函数有两个参数,第一个参数表示MySQL语句,第二个参数表示数据库的连接资源(resource)。 mysql_unbuffered_query()函数的作用和mysql_query()函数类似,但是不会缓存数据资源,因而没法使用 mysql_num_rows()函数和mysql_data_seek()函数,而且必须在下一次使用mysql_query()函数前处理完所有的数据。


<?php


$mysql_resource = mysql_connect('localhost','root','');


mysql_select_db('test_mysql',$mysql_resource);


$data_resource = mysql_query('SELECT * FROM `users`');


echo mysql_field_table($data_resource,'id');


//显示 users


?>


mysql_db_query()函数是PHP不建议使用的函数,这里跳过,请使用mysql_select_db()函数和mysql_query()函数代替。


mysql_fetch_array()函数的作用是获取一行数据,并以数组的形式返回,然后将指针指向下一条数据, mysql_fetch_array()函数有两个参数,第一个参数表示数据资源,第二个参数有三个常量可以选择,MYSQL_ASSOC表示返回关联数组,MYSQL_NUM表示返回数字下标的数组,MYSQL_BOTH表示两者都返回,默认是MYSQL_BOTH。


<?php


$mysql_resource = mysql_connect('localhost','root','');


mysql_select_db('test_mysql',$mysql_resource);


$data_resource = mysql_query('SELECT * FROM `users`');


while($row = mysql_fetch_array($data_resource, MYSQL_NUM))


{


    echo $row[1];


}


?>


mysql_fetch_assoc()函数的作用是获取一行数据,并且以关联数组的形式返回,然后将指针指向下一条数据,mysql_fetch_assoc()函数有一个参数,表示数据资源。


<?php


$mysql_resource = mysql_connect('localhost','root','');


mysql_select_db('test_mysql',$mysql_resource);


$data_resource = mysql_query('SELECT * FROM `users`');


while($row = mysql_fetch_assoc($data_resource))


{


    echo $row['name'];


}


?>


mysql_fetch_row()函数的作用是获取一行的数据,并以数字数组的形式返回,然后将指针指向下一条数据, mysql_fetch_row()函数有一个参数, 表示数据资源。


<?php


$mysql_resource = mysql_connect('localhost','root','');


mysql_select_db('test_mysql',$mysql_resource);


$data_resource = mysql_query('SELECT * FROM `users`');


$row = mysql_fetch_row($data_resource);


print_r($row);


/* 显示


Array


(


    [0] => 1


    [1] => samon


    [2] => 25


    [3] => male


)


*/


?>


mysql_fetch_object()函数的作用是获取一行数据,并以对象的形式返回,然后将指针指向下一条数据。 mysql_fetch_object()函数有三个参数,第一个参数表示数据资源,第二个可选参数表示处理生成对象的类名,默认使用stdClass,第三个参数表示处理时需要传递的参数。


<?php


$mysql_resource = mysql_connect('localhost','root','');


mysql_select_db('test_mysql',$mysql_resource);


$data_resource = mysql_query('SELECT * FROM `users`');


$row = mysql_fetch_object($data_resource);


print_r($row);


 


/* 显示


stdClass Object


(


    [id] => 1


    [name] => samon


    [age] => 25


    [sex] => male


)


*/


?>


mysql_fetch_lengths()函数的作用是获取返回各字段内容的长度。mysql_fetch_lengths()函数只有在使用了 mysql_fetch_row(),mysql_fetch_assoc(),mysql_fetch_array()和 mysql_fetch_object()之后才会被储存,所以必须在使用这些函数以后使用。mysql_fetch_lengths()函数有一个参数,表示数据资源。


<?php


$mysql_resource = mysql_connect('localhost','root','');


mysql_select_db('test_mysql',$mysql_resource);


$data_resource = mysql_query('SELECT * FROM `users`');


$row = mysql_fetch_object($data_resource);


print_r($row);


 


/* 显示


Array


(


    [0] => 1


    [1] => 5


    [2] => 2


    [3] => 4


)


*/


?>


mysql_affected_rows()函数的作用是返回上一次INSERT,UPDATE,REPLACE或者DELETE操作所影响的条目数。mysql_affected_rows()函数有一个可选参数,表示特定的MySQL连接资源。


<?php


$mysql_resource = mysql_connect('localhost','root','');


mysql_select_db('test_mysql', $mysql_resource);


mysql_query("UPDATE `users` SET `sex` = 'male'");


echo mysql_affected_rows();


// 显示 2


?>


mysql_num_rows()函数的作用是获取数据资源中的行数,mysql_num_rows()函数有参数,表示数据资源。


<?php


$mysql_resource = mysql_connect('localhost','root','');


mysql_select_db('test_mysql',$mysql_resource);


$data_resource = mysql_query("SELECT * FROM `users`");


echo mysql_num_rows($data_resource);


// 显示 6


?>


mysql_result()函数的作用是获取指定行数,指定偏移量的单个数据。mysql_result()函数有三个参数,第一个参数表示数据资源,第二个参数表示需要获取的行数,第三个参数表示获取的字段(可以是数字,也可以是名称)。


<?php


$mysql_resource = mysql_connect('localhost','root','');


mysql_select_db('test_mysql',$mysql_resource);


$data_resource = mysql_query("SELECT * FROM `users`");


$result = mysql_result($data_resource,2,'name');


echo $result;


// 显示 tom


?>


mysql_insert_id()函数的作用是获取上一次INSERT操作自动产生的id值。mysql_insert_id()函数有一个可选参数,表示使用的MySQL连接资源。


<?php


$mysql_resource = mysql_connect('localhost','root','');


mysql_select_db('test_mysql',$mysql_resource);


$data_resource = mysql_query("INSERT INTO `users` ( `name` , `age` , `sex` )VALUES ( 'troy', '28', 'female');");


$insert_id = mysql_insert_id();


echo $insert_id;


// 显示 7


?>


mysql_info()函数测试失败,不知道如何使用。


mysql_free_result()函数的作用是释放在mysql_query()函数中得到的数据资源,mysql_free_result()函数有一个参数,表示数据资源。


<?php


$mysql_resource = mysql_connect('localhost','root','');


mysql_select_db('test_mysql',$mysql_resource);


$data_resource = mysql_query("SELECT * FROM `users`");


mysql_free_result($data_resource);


$row = mysql_fetch_row($data_resource);


print_r($row);


// 显示 Warning: mysql_fetch_row(): 3 is not a valid MySQL result resource


?>


mysql_data_seek()函数的作用是按要求移动数据资源内部的指针,mysql_data_seek()函数有两个参数,第一个参数表示一个数据资源,第二个参数表示需要移动的行数。


<?php


$mysql_resource = mysql_connect('localhost','root','');


mysql_select_db('test_mysql',$mysql_resource);


$data_resource = mysql_query("SELECT * FROM `users`");


mysql_data_seek($data_resource, 2);


$row = mysql_fetch_row($data_resource);


print_r($row);


/* 显示


Array


(


    [0] => 3


    [1] => tom


    [2] => 23


    [3] => male


)


*/


?>


mysql_fetch_field()函数的作用是获取数据资源的字段信息,mysql_fetch_field()函数有两个参数,第一个参数表示数据资源,第二个参数表示偏移量。返回的数组中,name表示字段名,table表示字段所在的数据表,def表示该字段的默认值, max_length表示该字段的最大值,not_null表示是否可以是NULL,primary_ket表示该字段是否为主键, multiple_key表示该字段是否是多个值,unique_key表示该字段是否是唯一值,numeric表示好该字段是否是数值,blob表示该字段是否为一个BLOB二进制对象,type表示该字段的数据类型,unsigned表示该字段是否是非负数的,zerofill表示该字段是否可以有 0。


<?php


$mysql_resource = mysql_connect('localhost','root','');


mysql_select_db('test_mysql',$mysql_resource);


$data_resource = mysql_query("SELECT * FROM `users`");


$field_message = mysql_fetch_field($data_resource, 2);


print_r($field_message);


/* 显示


stdClass Object


(


    [name] => id


    [table] => users


    [def] =>


    [max_length] => 1


    [not_null] => 1


    [primary_key] => 1


    [multiple_key] => 0


    [unique_key] => 0


    [numeric] => 1


    [blob] => 0


    [type] => int


    [unsigned] => 1


    [zerofill] => 0


)


*/


?>


mysql_field_seek()函数的作用是移动字段信息的内部指针。没有测试成功。


mysql_field_flags()函数的作用是获取指定字段的信息。mysql_field_flags()函数有两个参数,第一个参数表示数据资源,第二个参数表示指定的偏移量。


<?php


$mysql_resource = mysql_connect('localhost','root','');


mysql_select_db('test_mysql',$mysql_resource);


$data_resource = mysql_query("SELECT * FROM `users`");


$row = mysql_field_flags($data_resource,2);


print_r($row);


// 显示age字段的值 not_null unsigned


?>


mysql_field_len()函数的作用是获取指定字段的长度。mysql_field_name()函数的作用是获取指定字段的长度。 mysql_field_type()函数的作用是获取指定字段的类型。这三个函数有两个参数,第一个参数表示数据资源,第二个参数表示指定的偏移量。


<?php


$mysql_resource = mysql_connect('localhost','root','');


mysql_select_db('test_mysql',$mysql_resource);


$data_resource = mysql_query("SELECT * FROM `users`");


$len = mysql_field_len($data_resource,1);


echo $len;


// 显示name字段的长度 255


$name = mysql_field_name($data_resource,1);


echo $name;


// 显示name字段的名称 name


$type = mysql_field_type($data_resource,1);


echo $type;


// 显示name字段的类型 string


?>


mysql_num_fields()函数的作用是获取一个数据资源中的字段数量,mysql_num_fields()函数有一个参数,表示数据资源。


<?php


$mysql_resource = mysql_connect('localhost','root','');


mysql_select_db('test_mysql',$mysql_resource);


$result = mysql_query("SELECT * FROM `users`");


$num = mysql_num_fields($result);//, MYSQL_NUM


echo $num;


// 显示 4


?>


mysql_field_table()函数的作用是获取指定字段所在的数据表名,该函数在多表联立的时候非常有用。mysql_field_table()函数有两个参数,第一个参数表示数据资源,第二个参数表示指定的偏移量。


<?php


$mysql_resource = mysql_connect('localhost','root','');


mysql_select_db('test_mysql',$mysql_resource);


$data_resource = mysql_query('SELECT * FROM `users`');


echo mysql_field_table($data_resource,'id');


//显示 users


?>


mysql_list_fields()函数的作用是显示一个数据库中指定数据表中的所有字段。但是并不推荐使用此函数,请使用SQL:SHOW COLUMNS FROM来代替。


<?php


$mysql_resource = mysql_connect('localhost','root','');


mysql_select_db('test_mysql',$mysql_resource);


$result = mysql_query("SHOW COLUMNS FROM `users`");


$row = mysql_fetch_assoc($result);


print_r($row);


/* 显示


Array


(


    [Field] => id


    [Type] => int(10) unsigned


    [Null] => NO


    [Key] => PRI


    [Default] =>


    [Extra] => auto_increment


)


*/


?>


mysql_list_tables()函数的作用是显示一个数据库的所有数据表。mysql_tablename()函数可以通过 mysql_list_tables()函数返回的列表资源进行操作显示数据数据表。但是并不推荐使用这两个函数,请使用SQL:SHOW TABLES [FROM db_name] [LIKE 'pattern']来代替


<?php


$mysql_resource = mysql_connect('localhost','root','');


mysql_select_db('test_mysql',$mysql_resource);


$result = mysql_query("SHOW TABLES FROM `test_mysql`");


$row = mysql_fetch_assoc($result);//, MYSQL_NUM


print_r($row);


/* 显示


Array


(


    [Tables_in_test_mysql] => users


)


*/


?>


mysql_list_dbs()函数的作用是获取MySQL中的所有数据库名称,mysql_list_dbs()函数有一个参数,表示一个MySQL的连接资源。


<?php


$mysql_resource = mysql_connect('localhost','root','');


$db_list = mysql_list_dbs($mysql_resource);


while ($row = mysql_fetch_object($db_list)) {


     echo $row->Database . "\n";


}


// 显示 数据库中的所有数据表名。


?>


mysql_db_name()函数的作用是获取mysql_list_dbs()返回的列表资源中的某个数据表的名称。 mysql_db_name()函数有三个参数,第一个参数表示mysql_list_dbs()返回的数据库名称资源,第二个参数表示偏移量,第三个参数表示字段的名称(该参数测试失败)。


<?php


$mysql_resource = mysql_connect('localhost','root','');


$db_list = mysql_list_dbs($mysql_resource);


echo mysql_db_name($db_list,0);


// 显示 数据库中的第一个数据表。


?>


mysql_stat()函数的作用是获取MySQL连接的相关信息。mysql_stat()函数有一个参数,表示MySQL的一个连接资源。


<?php


$mysql_resource = mysql_connect('localhost','root','');


$status = explode('  ', mysql_stat($mysql_resource));


print_r($status)


/* 显示类似


Array


(


    [0] => Uptime: 372


    [1] => Threads: 1


    [2] => Questions: 187


    [3] => Slow queries: 0


    [4] => Opens: 12


    [5] => Flush tables: 1


    [6] => Open tables: 6


    [7] => Queries per second avg: 0.503


)


*/


?>


mysql_list_processes()函数的作用是获取所有的MySQL进程数据。mysql_list_processes()函数有一个参数,表示一个MySQL连接资源。


<?php


$mysql_resource = mysql_connect('localhost','root','');


$result = mysql_list_processes($mysql_resource);


while ($row = mysql_fetch_assoc($result)){


    printf("%s %s %s %s %s\n", $row["Id"], $row["Host"], $row["db"],


        $row["Command"], $row["Time"]);


}


// 显示类似 195 localhost  Processlist 0


?>


mysql_thread_id()函数返回当前的MySQL线程的ID,mysql_thread_id()函数有一个参数,表示一个MySQL连接资源。


<?php


$mysql_resource = mysql_connect('localhost','root','');


$thread_id = mysql_thread_id($mysql_resource);


echo $thread_id;


?>


mysql_get_host_info()函数的作用是获取MySQL主机信息,有一个参数,表示一个MySQL的连接资源。 mysql_get_client_info()函数的作用是获取客户端的信息,mysql_get_proto_info()函数的作用是获取 MySQL的协议信息,有一个参数,表示一个MySQL的连接资源。mysql_get_server_info()函数的作用是获取MySQL的服务器信息,有一个参数,表示一个MySQL的连接资源。


<?php


$mysql_resource = mysql_connect('localhost','root','');


$host_info = mysql_get_host_info($mysql_resource);


echo $host_info.'<br />';


$client_info = mysql_get_client_info();


echo $client_info.'<br />';


$proto_info = mysql_get_proto_info($mysql_resource);


echo $proto_info.'<br />';


$server_info = mysql_get_server_info($mysql_resource);


echo $server_info.'<br />';


/* 显示类似


Localhost via UNIX socket


5.0.38


10


5.0.38-Ubuntu_0ubuntu1-log


*/


?>


mysql_error()函数的作用是获取MySQL捕获的错误信息。mysql_error()函数有一个参数,表示一个MySQL的连接资源。mysql_erroro()函数的作用和mysql_error()函数类似,但是获取MySQL错误信息的数字编号。


<?php


$mysql_resource = mysql_connect('localhost','root','');


mysql_select_db('no_db', $mysql_resource);


echo mysql_errno($mysql_resource) . ": " . mysql_error($mysql_resource). "\n";


// 显示 1049: Unknown database 'no_db'


?>


mysql_ping()函数不知道如何测试。


mysql_create_db()函数的作用是建立一个数据库,mysql_create_db()函数有两个参数,第一个参数是需要建立的数据库名称,第二个参数表示的是一个MySQL的连接资源。mysql_drop_db()函数的作用是删除一个数据库,mysql_drop_db()函数有两个参数,第一个参数是需要删除的数据库的名称,第二个参数表示的是一个MySQL的连接资源。


测试的时候报错:Call to undefined function mysql_create_db() 但是我的MySQL确实是装了


mysql-server-5.0


mysql database server binaries


不知道是什么原因。同样, mysql_drop_db()函数也无法测试成功。


mysql_change_user()函数的作用是修改MySQL的用户名,此函数已经从最新的PHP版本中移除,所以跳过不介绍。


mysql_client_encoding()函数的作用返回MySQL默认字符集的名称(不知道应该怎么修改,才能是utf-8),mysql_client_encoding()函数有一个参数,表示MySQL的连接资源。


<?php


$mysql_resource = mysql_connect('localhost','root','');


echo mysql_client_encoding($mysql_resource);


// 显示 latin1

转载于:https://my.oschina.net/u/1015110/blog/124364

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值