牛骨文教育服务平台(让学习变的简单)
博文笔记

PHP里数据库查询结果为一行数据和多行数据的时候的处理

创建时间:2013-11-25 投稿人: 浏览次数:3002

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";
		}
?>




声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。