数据库 如何判断PDO数据为空

先展示出出错的代码: 当查找的内容为空时候 PDO数据就是不显示错误

<?php
function perform_query($query){
		try{ //  try可能引发异常的语句;
			$db=new PDO("mysql:host=localhost;dbname=world","root","");//NEW创建对象 PDO参数:数据库名称 服务器 用户名 密码
			$row =$db->query($query);//query查询数据库,返回匹配行 PDO的方法
			
			return $row;//查询的结果返回的是特殊类型的对象PDOStatement
		}
		catch(PDOException $ex){//catch处理错误的语句
			?>
			<p>对不起,数据库错误出现</p>
			<?php
			return NULL;//断开是数据库链接
		}
	}
//implode将数组以指定字符串转成字符串
// 预定义的 $_GET 变量用于收集来自 method="get" 的表单中的值
//sql语句
//选择不重复的国家名称 升序
//从国家表单和语言表单的笛卡尔积中寻找 且on条件是国家的code和语言的code相同的合并
//过滤出 表的州与键盘输出的州相同的+in表示允许多个值 语言是可以多选的 表的语言与键盘输入的语言相同的 官方是允许的
//ORDER BY 关键字用于对结果集按照一个列或者多个列进行排序---缺省是升序
$countries_query = "SELECT DISTINCT c.name 
					FROM countries c JOIN languages l 
					ON c.code = l.country_code
					WHERE 
						 l.official = 'T'
						 AND c.continent ='Europe'
						 AND l.language ='Chinese'
						 
					ORDER BY c.name";
	
$rows = perform_query($countries_query);//查询到的国家的PDOStatement类型 American Chinese Europe

if($rows){//->rowCount() > 0
		
		foreach($rows as $row){
				echo $row["name"];
				echo "<br>";
			
		}
}else{
	echo "没找到";
}
?>

问题这里:我改成 PDO内置函数 rowCount查询结果中的行数就可以了

 

 哪位大佬可以解释一下,谢谢

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值