我如何处理空的 sql 响应?

How can i handle an empty 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 WHERE referredby = '".$id2['id2']."'");
$referrals = fetch_assoc($userReferrals_query2); 
?>

您可以这样做:

if(empty($id2)){
//Code to handle empty response
}

fetch_assoc() returns false 如果结果中没有剩余行。如果您只是获取 1 行,并且没有匹配的行,则它会在第一次调用时 returns false。所以只需测试 $id2 是真还是假:

if ($id2) {
    // do referrals query
}

或者您可以简单地将两个查询与 JOIN:

$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'";