PHP核心编程——Mysql扩展

Mysql扩展

目录

Mysql扩展

连库基本操作

连接数据库服务器

设置连接编码

选定要使用的数据库

关闭连接

执行增删改操作

执行查询操作

执行查询语句

获取结果集行数

解析结果集

其他相关函数

有关字段信息

有关出错信息

其他函数


PHP针对mysql数据库操作提供的扩展:允许PHP当做mysql的一个客户端连接服务器进行操作。

 

连库基本操作

连接数据库服务器

1)mysqli_connect(服务器地址,用户名,密码)

(php7中废除了mysql_connect(),改用mysqli_connect())

 

设置连接编码

保持客户端与服务器之间的沟通顺畅:同一“语言”(字符集)

1)形式1:mysqli_query($link,“set names XXX”);

 

2)形式2:mysqli_set_charset(“XXX”)

 

3)怎么确定使用何种编码?

客户端当前执行脚本的界面是什么字符集,就设定成什么字符集

 

 

选定要使用的数据库

1)形式1:mysqli_query($link,“use XXX”);

2)形式2:mysqli_select_db($link,“XXX”);

 

关闭连接

主动释放连接:mysql服务器的连接资源是有限的,不用了需要释放(脚本执行结束系统也会自动释放)

1)mysqli_close($link);

 

 

执行增删改操作

执行增删改操作

1) mysqli_query ($link, “insert…”);

2) mysqli_query ($link, “delete…”);

3) mysqli_query ($link, “update…”);

 

做一个专门负责数据库初始化的脚本:之后操作数据库包含该脚本即可

 

1、插入操作

 

2、更新操作

 

 

判断执行结果

 

1)执行成功,结果为true:只代表SQL指令执行成功,不代表数据库发生改变

2)执行失败,结果为false:代表SQL指令错误或者操作对象不存在

 

执行查询操作

执行查询语句

1)mysqli_query($link,”select…”)

2)其他类似查询语句,比如:show语句,desc语句

以上两种情况的总结:凡是执行操作希望拿到数据库返回的数据进行展示的(结果返回:数据结果)

 

3)执行结果的处理:成功为结果集,失败为false

成功返回结果:SQL指令没有错误,但是如果 查询结果本身为空返回也是true(结果集是一种资源:转换成bool永远为true

失败为false:SQL指令有错误

获取结果集行数

1)mysqli_num_rows():获取结果集中到底有多少行

 

 

 

 

解析结果集

按照结果集中所在位置取出对应的一条记录(一行),返回一个数组,同时指针下移…直到指针溢出结果集。

1)mysqli_fetch_assoc():获取关联数组,表单字段名字作为数组下标,元素值作为数组元素值。

 

2)mysqli_fetch_row():获取索引数组,只获取数据的值,然后数组的下标从0开始,自动索引

 

3)mysqli_fetch_array():获取关联或者索引数组,但是默认同时存在:一个记录取两次,形成一组是关联数组,一组是索引数组,但是可以通过第二个参数决定获取的方式:MYSQLI_ASSOC只获取关联数组, MYSQLI_NUM只获取索引数组,MYSQLI_BOTH默认值,获取全部。这种效率较低,不建议使用。

 

 

通常结果集的操作:一般是获取里面的所有(全部记录)

fetch_all()

抓取所有的结果行并且以关联数据,数值索引数组,或者两者皆有的方式返回结果集。

fetch_array()

以一个关联数组,数值索引数组,或者两者皆有的方式抓取一行结果。

fetch_object()

以对象返回结果集的当前行。

fetch_row()

以枚举数组方式返回一行结果

fetch_assoc()

以一个关联数组方式抓取一行结果。

fetch_field_direct()

以对象返回结果集中单字段的元数据。

fetch_field()

以对象返回结果集中的列信息。

fetch_fields()

以对象数组返回代表结果集中的列信息。

 

                                                               fetch_all (从结果集中取得所有行)


                              fetch_array (以一个关联数组,数值索引数组,或者两者皆有的方式抓取一行结果)


                                                            fetch_object (以对象返回结果集的当前行)      

                                                       fetch_row (以枚举数组方式返回一行结果)


                                                     fetch_assoc (以一个关联数组方式抓取一行结果)

 

                                            fetch_field_direct (以对象返回结果集中单字段的元数据既单列的信息)

                                                            fetch_field (以对象返回结果集中的列信息)

 


                                                          fetch_fields (以对象数组返回代表结果集中的列信息)

其他相关函数

有关字段信息

1)mysqli_num_fields():获取一个指定结果集中所有的字段数, 返回结果集中的字段数(列数)。

 

2)mysqli_num_rows() 返回结果集中的行数

3)  mysqli_fetch_lengths()  返回结果集中当前行的列长度

有关出错信息

1)mysqli_error($link):获取出错对应的提示信息

2)mysqli_errno($link):获取出错对应的错误提示代号

 

错误的判断:基于mysqli_query()这个函数执行的结果,结果返回false就代表执行错误

 

其他函数

1) mysqli_insert_id($link):返回最后一条插入语句产生的自增ID,如果没有自增长ID返回0

 

 

 

2) mysql_free_result($result);        //释放查询的结果集资源

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章