2009-01-15 66 views
1
function get_total_adults() 
{ 
    $sql = "SELECT SUM(number_adults_attending) as number_of_adults FROM is_nfo_rsvp"; 
    $result = mysql_query($sql) or die(mysql_error()); 
    $array = mysql_fetch_assoc($result); 

    return $array['number_of_adults']; 
} 

我知道有一種方法可以用較少的代碼來編寫此代碼。我只是尋找最好的方式(不使用ezSQL之類的東西)。重寫此函數的最有效方法是什麼?

+0

爲什麼你覺得需要用更少的代碼編寫代碼? – 2009-01-15 21:11:58

回答

1
function get_total_adults() { 
    $sql = 'SELECT SUM(number_adults_attending) FROM is_nfo_rsvp'; 
    $result = mysql_query($sql) or die(mysql_error()); 
    // I'd throw a catchable exception (see below) rather than die with a MySQl error 

    return mysql_result($result, 0); 
} 

,我怎麼寧願處理錯誤:

function get_total_adults() { 
    $sql = 'SELECT SUM(number_adults_attending) FROM is_nfo_rsvp'; 
    $result = mysql_query($sql); 
    if (!$result) { 
     throw new Exception('Failed to get total number of adults attending'); 
    } 

    return mysql_result($result, 0); 
} 

try { 
    $total_adults = get_total_adults(); 
} catch(Exception $ex) { 
    die('Whoops! An error occurred: ' . $ex->getMessage()); 
    // or even better, add to your template and dump the template at this point 
} 
// continue code 
0

您可以刪除查詢的「as number_of_adults」部分並使用mysql_result。

相關問題