Php 如何处理空的sql响应?
如果sql响应为空,如何向该代码添加句柄Php 如何处理空的sql响应?,php,mysql,sql,response,Php,Mysql,Sql,Response,如果sql响应为空,如何向该代码添加句柄 <?php $userReferrals_query = sql_query("SELECT id as id2 FROM balances WHERE email = '$address'"); $id2 = fetch_assoc($userReferrals_query); $userReferrals_query2 = sql_query("SELECT COUNT(*) AS referrals FROM balances WHER
<?php
$userReferrals_query = sql_query("SELECT id as id2 FROM balances WHERE email = '$address'");
$id2 = fetch_assoc($userReferrals_query);
$userReferrals_query2 = sql_query("SELECT COUNT(*) AS referrals FROM balances WHERE referredby = '".$id2['id2']."'");
$referrals = fetch_assoc($userReferrals_query2);
?>
您可以执行以下操作:
if(empty($id2)){
//Code to handle empty response
}
fetch_assoc()
如果结果中没有剩余行,则返回false
。如果您只是获取一行,而没有匹配的行,则在第一次调用时返回false
。因此,只需测试$id2
是真是假:
if ($id2) {
// do referrals query
}
或者,您可以简单地将这两个查询与联接结合起来:
$userReferralsQuery = sql_query("SELECT COUNT(*) AS referrals
FROM balances AS b1
JOIN balances AS b2 ON b1.referred_by = b2.id
WHERE b2.email = '$address'";
是空的
不是一个通用的php函数。@CharlotteDunois谢谢。现在还早;)Updated.sql\u query是某种东西的包装器吗?谢谢,我想出来了!:)