PHP里数据库查询结果为一行数据和多行数据的时候的处理
PHP的数据库查询结果不像android里返回结果集的cursor可以直接查询,而是返回一个resource类型的数据。
要使用查询结果与用户输入比对时,我们首先应该对其进行一定的处理。
1、当结果只有一行时,可以直接调用fetch_assoc()。
比如:
$row = $result->fetch_assoc(); //$result 代表一个查询结果。 $uname = $row["username"]; //username 是数据库表里的一个字段
有了$uname ,就可以进行想要的操作了。
2、当结果有多行时,我们需要把$result进行遍历,将要的数据存储到一个新的数组中。
还是使用fetch_assoc();函数。
<?php $sqli = new mysqli("localhost","root","","test"); $sql = "select * from users where username="wolfee9639""; $result = $sqli->query($sql); $result_set = array(); var_dump($result); while($row = $result->fetch_assoc()){ //array_push($result_set,$row["username"]); $result_set[] = $row["username"]; //上面注释的语句和本行语句效果相同,不过PHP官方手册推荐用第二种 } //var_dump($result_set); if(in_array("wolfee9639",$result_set)){ echo "succeeded"; }else{ echo "failed"; } ?>
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。