MySQL函数库

今天我们来看一下MySQL函数库,这个函数库是一个外部函数库!这个函数提供了对于MySQL数据库进行操作的常用函数,如连接MySQL服务器、打开数据库、执行SQL语句等。所以这个函数库的功能对于我们来说是非常重要的!
其实,MySQL数据库是整个程序开发的最底层,我们在程序开发时,就必须为其添加一层漂亮的外衣,这层漂亮的外衣就是图形化用户界面(Graphical User Interface,简称GUI,又称图形用户接口),也就是使用者只需要具体基本的计算机知识,然后通过鼠标,就可以实现某些复杂的功能!其实,我们现在所使用的Windows操作系统就是典型的GUI!

1. mysql_connect

功能:建立到MySQL服务器的连接

语法:[$变量名称=]mysql_connect(“服务器名称:端口”,”用户名”,”密码”);

如果正确的连接到了MySQL服务器,则返回值的数据类型为资源(resource),否则将返回布尔型false

2. mysql_select_db

功能:打开指定数据库

语法:[$变量名称=]mysql_select_db(“数据库名称”[,连接标识符]);
如果省略连接标识符,则默认情况下使用刚刚打开的服务器连接

3. mysql_query
 
功能:执行MySQL命令

语法:[$变量名称=]mysql_query(“SQL命令”[,连接标识符]);

如果省略连接标识符,则默认情况下使用刚刚打开的服务器连接

理论上来说,执行的SQL命令为任意SQL命令,如创建数据表、存储过程、触发器等,但实际上来说,SQL命令一般只是记录的插入、删除、更新和查询!因为,我们在程序设计之初,首先就是数据库的规划,对于数据库中存在多少张数据表、数据表中存在多少个字段以及数据表之间的关系,我们可以根据项目需求来规划,但是数据表中到底有多少记录,则无从规定,所以,SQL命令就是记录的增、删、改、查这四大操作!

另外,SQL[Structured Query Language,结构化查询语言]中的Query意为查询,但不要理解为查找,查找只是一种查询命令!SQL命令一般可以分为DDL和DML,这里的Query是所有SQL命令的统称。这一点对于初始者来说,必须要分清!
 
如果执行的SQL命令为SELECT,SHOW,EXPLAIN 或 DESCRIBE,这些命令正确执行的话,返回结果的数据类型为资源;错误执行的话,返回结果为布尔型false。对于其他所有的命令,正确执行返回结果为true;错误执行返回结果为false。

4. mysql_num_rows

功能:返回结果集中包含的记录数目

语法:[$变量名称=]mysql_num_rows($结果集名称);

此命令仅对 SELECT 语句有效

5. mysql_num_fields

功能:返回结果集中包含的字段数目

语句:[$变量名称=]mysql_num_fields($结果集名称);

6. mysql_field_name

功能:获取指定索引位置的字段名称

语法:[$变量名称=]mysql_field_name($结果集名称,字段索引位置);

说明:字段索引位置从0开始编号

7. mysql_fetch_array

功能:从结果集中抽取一行作为数字数组或关联数组或两者兼之

语法:[$变量名称=]mysql_fetch_array($结果集名称[,MYSQL_NUM|MYSQL_ASSOC|MYSQL_BOTH]);

8. mysql_fetch_row

功能:从结果集中抽取一行作为数字数组

语法:[$变量名称=]mysql_fetch_row($结果集名称);

9. mysql_fetch_assoc

功能:从结果集中抽取一行作为关联数组

语法:[$变量名称=]mysql_fetch_assoc($结果集名称);

10. mysql_insert_id

功能: 取得上一步 INSERT 操作产生的 ID

语法:[$变量名称=]mysql_insert_id([连接标识符]);

mysql_insert_id() 将 MySQL 内部的 C API 函数 mysql_insert_id() 的返回值转换成 long(PHP 中命名为 int)。如果 AUTO_INCREMENT 的列的类型是 BIGINT,则 mysql_insert_id() 返回的值将不正确。可以在 SQL 查询中用 MySQL 内部的 SQL 函数 LAST_INSERT_ID() 来替代。

11. mysql_affected_rows

功能:获取insert、update、delete操作所影响的记录数

语法:[$变量名称=]mysql_affected_rows([连接标识符]);

12. mysql_free_result

功能:释放结果集

语法:[$变量名称=]mysql_free_result($结果集名称);

13. mysql_close

功能:关闭数据库连接

语法:[$变量名称=]mysql_close([连接标识符]);

我们还要来看一个案例吧!

在MySQL内创建如下结构的数据表,并且添加记录

use test;

create table users

(

uid smallint unsigned not null primary key auto_increment,

username varchar(20) not null unique,

password varchar(32) not null

);
 

insert into users(username,password) values('admin','21232f297a57a5a743894a0e4a801fc3');

insert into users(username,password) values('test','098f6bcd4621d373cade4e832627b4f6');
 
insert into users(username,password) values('ccjsj','12a5163ff108df1d7314dd28a0ff29d2');
 
现在,我们的任务就是通过PHP的应用程序来读取数据库中的数据!
 
 
$conn = mysql_connect("localhost","root","ccjsj");

mysql_select_db("test");

$sql    = "select * from users";

$result = mysql_query($sql);

$rowsNum = mysql_num_rows($result);

 
$fieldsNum = mysql_num_fields($result);

 
$table .= "\n";
$table .= "
\n";

for($i=0;$i<$fieldsNum;$i++)

{

$table .= "
\n";

}

$table .= "
\n";

if($rowsNum)

{

    while($row = mysql_fetch_array($result)) 
    { 
        $table .= "
\n";
             for($i=0;$i<$fieldsNum;$i++)

             {

                $table .= "
\n";

             }

        $table .= "
\n";

    }

}

$table .= "
" . mysql_field_name($result,$i) . "
" . $row[$i] . "
\n";

echo($table);

mysql_free_result($result);

mysql_close();
 

PHP的源代码如图一
 
PHP(8) MySQL函数库_第1张图片
 
[图一]
 
 
运行结果如图二
 
PHP(8) MySQL函数库_第2张图片
 
[图二]

 
浏览器的源代码如图三
 
PHP(8) MySQL函数库_第3张图片
 
[图三]