我如何处理空的 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'";
如果 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'";