php执行sql语句并获取返回结果集,57、Php使用mysqli与mysql交互 执行sql语句 、结果集处理...

2.执SQL语句

1)对数据库执行一条SQL语句

1>mixed mysqli_query ( mysqli $link , string $query [, int $resultmode = MYSQLI_STORE_RESULT ] );

①对于insert,update,delete等不会返回数据的SQL语句,在执行没有错误时将返回true。

②对于返回数据的SQL语句执行成功的时候会返回结果集对象可以使用操作结果集对象的函数来从中获取数据

2)操作结果集对象的函数

1>从结果集对象中解析数据的常见函数

①以索引数组的方式获取一条记录的数据

mixed mysqli_fetch_row ( mysqli_result $result );

重复使用以获取下一条记录的数据

②以关联数组的方式获取一条记录的数据

array mysqli_fetch_assoc ( mysqli_result $result );

重复使用以获取下一条记录的数据

③以索引数组或关联数组的方式获取一条记录的数据

mixed mysqli_fetch_array ( mysqli_result $result [, int $resulttype = MYSQLI_BOTH ] );

重复使用以获取下一条记录的数据

④以索引数组或关联数组的方式获取全部记录的数据

mixed mysqli_fetch_all ( mysqli_result $result [, int $resulttype = MYSQLI_NUM ] );

⑤返回结果集中的下一个字段信息

object mysqli_fetch_field ( mysqli_result $result );

⑥返回一个代表结果集字段的对象数组

array mysqli_fetch_fields ( mysqli_result $result );

⑦获取结果中行的数量

int mysqli_num_rows ( mysqli_result $result );

注意:如果使用MYSQLI_USE_RESULT模式则必须在获取完结果集才可使用该函数。

2>释放与一个结果集相关的内存

返回的结果集在数据量很大的时候需要很多的内存支持,所以在操作完结果集的时候有必要立刻释放与一个结果集相关的内

存, 释放之后,结果集就不可用了

void mysqli_free_result ( mysqli_result $result );

header('Content-type:text/html;charset=utf-8');

//与MySQL数据库建立连接

$link=mysqli_connect('localhost','root','123456','',3306);

//连接错误时的提示

if(mysqli_connect_errno()){

exit(mysqli_connect_error());

}

//设置默认字符编码

mysqli_set_charset($link, 'utf8');

//选择特定的数据库

mysqli_select_db($link,'d14');

//对数据库执行一条SQL语句

//$query='insert into t1(info) values("孙胜利,私房库,sifangku.com")';

$query='select * from t1';

$result=mysqli_query($link, $query);

/*

//以索引数组的方式获取一条记录的数据

while ($data=mysqli_fetch_row($result)){

var_dump($data);

}

*/

/*

以关联数组的方式获取一条记录的数据

var_dump(mysqli_fetch_assoc($result));

var_dump(mysqli_fetch_assoc($result));

var_dump(mysqli_fetch_assoc($result));

var_dump(mysqli_fetch_assoc($result));

var_dump(mysqli_fetch_assoc($result));

*/

/*

以索引数组或关联数组的方式获取一条记录的数据

第二个参数可选值:MYSQLI_ASSOC, MYSQLI_NUM, MYSQLI_BOTH(默认)

var_dump(mysqli_fetch_array($result,MYSQLI_NUM));

*/

/*

以索引数组或关联数组的方式获取全部记录的数据

第二个参数可选值:MYSQLI_ASSOC, MYSQLI_NUM, MYSQLI_BOTH

var_dump(mysqli_fetch_all($result,MYSQLI_BOTH));

*/

/*

返回结果集中的下一个字段信息

$filed=mysqli_fetch_field($result);

var_dump($filed);

echo $filed->orgname; //输出原来的名字

//重复使用获取下一个字段

var_dump(mysqli_fetch_field($result));

var_dump(mysqli_fetch_field($result));

*/

/*

返回一个代表结果集字段的对象数组

var_dump(mysqli_fetch_fields($result));

$fields=mysqli_fetch_fields($result);

echo $fields[0]->name;

*/

/*

//获取结果中行的数量

var_dump(mysqli_num_rows($result));

*/

//释放与一个结果集相关的内存

mysqli_free_result($result);

//关闭与mysql服务器的连接

mysqli_close($link);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值