2015-03-02 46 views
1

我正在使用wordpress主題,但未能在wpdb-> get_results()上使用算術運算。

如果我寫簡單的,那麼它成功地更新數據庫

$sql = "SELECT room_count from " . BOOKYOURTRAVEL_ACCOMMODATION_VACANCIES_TABLE . " where accommodation_id = $accommodation_id"; 

    $result = $wpdb->get_results($sql) or die(mysql_error()); 


    $calc = $result; 

但是,如果使用減法運算結果與它拋出致命錯誤。

$sql = "SELECT room_count from " . BOOKYOURTRAVEL_ACCOMMODATION_VACANCIES_TABLE . " where accommodation_id = $accommodation_id"; 

    $result = $wpdb->get_results($sql) or die(mysql_error()); 


    $calc = $result - 1; 

錯誤

Fatal error: Unsupported operand types in C:\xampp\htdocs\beta\wp-content\themes\byt-child\includes\post_types\accommodations.php on line 1199 

Freinds請建議我如何解決這個問題。我已經使用了result-> room_count -1,但對結果進行了處理。

回答

0

如果你期待一個結果字段,你應該使用get_var

$sql = "SELECT room_count from " . BOOKYOURTRAVEL_ACCOMMODATION_VACANCIES_TABLE . " where accommodation_id = $accommodation_id"; 

$result = $wpdb->get_var($sql); 

if($result) { 
    $calc = $result - 1; 
} 
+0

感謝先生,這是多值 – 2015-03-02 12:13:01

+0

的情況,那麼你應該循環槽它,get_results返回項目的數組,你可以使用'foreach($ results AS $ result)步行低谷{}' – 2015-03-02 12:14:49

+0

$ wpdb-> get_var()會將多個值返回給$ result?支持數據庫有多個相同的ID行然後$結果將具有所有room_count值,或者我們必須替換$ wpdb-> get_var() – 2015-03-03 07:21:28