[英]joomla 2.5 database query result returns every value as string datatype
[英]Joomla database query returns old value after update
我正在實現更新/添加數據庫行后觸發的基本偵聽器( civicrm_post鈎子)。 我遇到的問題是,即使表中的一行已更改,通過Joomla數據庫對象加載同一行也會返回先前的值。
假設我要將對象的名稱從“ foo”更改為“ bar”。
$db =& JFactory::getDBO();
$db->setQuery("SELECT ...");
返回“ foo”作為名稱,而
$c = mysql_connect("host","user","password");
mysql_select_db("db", $c);
$result = mysql_query("SELECT ...");
返回“ bar”。
有沒有正在進行的緩存,有什么方法可以清除它?
以供參考:
編輯:這是我在CiviCRM論壇上開始的主題,提供了更多細節: http : //forum.civicrm.org/index.php/topic,25200.0.html
編輯2:“最新動態”和一些說明。
我正在使用掛鈎推出一個更新的iCal提要,它是CiviCRM前端組件提供的一個提要。 掛鈎觸發時,它不會更新,即使此時數據庫已更新且兩端均沒有緩存。 顯然,CiviCRM使用其自己的數據庫連接器,因此上述措辭已不再嚴格有效。 使用稍后觸發的鈎子(civicrm_postProcess)解決了此問題,但這是一個“ hacky”修復程序。
從我的角度來看,有三種選擇:
@SørenBeckJensen可能是正確的! 嘗試運行:
select DATABASE() from dual
並查看每個數據庫正在調用哪個數據庫。
另一個選擇是關閉autocommit
,在這種情況下,您需要提交:
$db->setQuery("COMMIT");
第三個選項是INSERT
書寫不正確(在第一種情況下)並且失敗。 但是我需要查看查詢才能確定。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.