php mysql服务器_PHP操作MYSQL服务器

PHP操作mysql服务器

php作为mysql服务器的客户端!

执行的话一般分为下面的四个大致步骤:

连接认证

发送sql

执行sql,生成结果(mysql-server)

处理结果

关闭连接

1.连接认证

mysql_connect()

数据库的连接

$host = "localhost";

$post = "3306";

$user = "root";

$pass = "123654";

if(!$link = mysql_connect("$host:$post",$user,$pass)){

die("连接失败");

}如果成功的话$result里面保存的是结果集是资源类型(对资源类型不太理解,请看上一篇博客),失败的话保存的是false;

2.向mysql服务器发送sql

mysql_query();

失败返回false,成功返回true或者资源;

可以使用mysql_errno(链接)和mysql_error(链接)来获得错误信息和标识;

mysql_select_db("test"); //选择默认数据库

$sql = 'select * from stu where 1';

if(!$result = mysql_query($sql)){

echo "sql语句执行失败",$sql.'';

echo "错误代码".mysql_errno($link),'
';

echo "错误信息".mysql_error($link).'
';

}

3.返回处理数据

执行成功后:返回数据可以是资源也可以true。执行失败一定是false!

依据所执行的 sql,是否有返回数据!

返回资源:有返回数据:select,show,desc。

返回true:没有返回数据的: use,set,insert,update,delete,DDL

3.2处理返回资源

0818b9ca8b590ca3270a3433284dd417.png

这样的结果称之为结果集(result set)类型资源;

结果集:结果的集合;

将数据从结果集中取出来称之为fetch,

使用函数

mysql_fetch_assoc|row|array。功能完全一致,只是返回的数据格式不同!

前面两个能用第三个来实现,因为前面两个是一个参数,第三个有两个参数

/**

*@param mysql_fetch_array 从结果集中取出第一条记录的数组 一个参数是结果集,第二个参数可以有三个常量供选择

* 如果用了 MYSQL_BOTH,将得到一个同时包含关联和数字索引的数组。用 MYSQL_ASSOC 只得到关联索引(如同 mysql_fetch_assoc() 那样),

* 用 MYSQL_NUM 只得到数字索引(如同 mysql_fetch_row() 那样),默认的 情况是第一种MYSQL_BOTH ;

**/

// var_dump(mysql_fetch_array($result,MYSQL_ASSOC)) ;

// var_dump(is_resource($result)) ;//判断是不是资源类型

/**

*@param mysql_num_fields 里面有一个参数,是资源变量 获取该资源变量的所有的条数

**/

//var_dump(mysql_num_fields($result));

/**

*@param mysql_fetch_field 可以用来从某个查询结果中取得字段的信息。如果没有指定字段偏移量,则下一个尚未被 mysql_fetch_field() 取得的字段被提取。

*@return name - 列名

*table - 该列所在的表名

*max_length - 该列最大长度

*not_null - 1,如果该列不能为 NULL

*primary_key - 1,如果该列是 primary key

*unique_key - 1,如果该列是 unique key

*multiple_key - 1,如果该列是 non-unique key

*numeric - 1,如果该列是 numeric

*blob - 1,如果该列是 BLOB

*type - 该列的类型

*unsigned - 1,如果该列是无符号数

*zerofill - 1,如果该列是 zero-filled

*var_dump(mysql_fetch_field($result));

**/mysql_fetch_row()显示如下

0818b9ca8b590ca3270a3433284dd417.png

mysql_fetch_assoc()显示如下:

0818b9ca8b590ca3270a3433284dd417.png

mysql_fetch_array() 显示如下:默认的是both的  也就是上面两种混合的 也可以给第二个参数传递参数就可以变为相应的了

0818b9ca8b590ca3270a3433284dd417.png

特别注意:

任何有结果的sql操作,返回的都是结果集!

结果集,就是一个二维表的结构!是一行行的记录组成!

即使,结果集中只有一条记录

我们只需要返回一条数据!

4.释放资源

mysql_free_result($result); //里面是结果集 释放结果集的意思

mysql_close($link); // 里面放的是链接资源,通常是释放连接的数据库

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值