Search Google

Wednesday, December 15, 2010

修改CodeIgniter (aka. CI)使其能正確執行oci_bind_by_name所需步驟

修改CodeIgniter (aka. CI)使其能正確執行oci_bind_by_name所需步驟:
Step 1.
/system/database/DB_driver.php -->
line 293:
--
if (FALSE === ($this->result_id = $this->simple_query($sql)))
++
if (FALSE === ($this->result_id = $this->simple_query($sql, $binds)))
line 440:
--
function simple_query($sql)
++
function simple_query($sql, $binds=FALSE)
line 447:
--
return $this->_execute($sql);
++
return $this->_execute($sql, $binds);

Step 2.
/system/database/drivers/oci8/oci8_driver.php -->
line 165:
--
function _execute($sql)
++
function _execute($sql, $binds=FALSE)
line 172-172:
--
++
if($binds != FALSE) {
foreach($binds as $k => $bind) {
oci_bind_by_name($this->stmt_id, $bind['name'], $bind['value']);
}
}

使用範例:
$sql = "insert
into related_firm
(
TYPE,
NAME,
CONTACT_ADDR,
CONTACT_NUMBER,
CONTACT_FAX,
SN
)
values
(
:TYPE,
:NAME,
:CONTACT_ADDR,
:CONTACT_NUMBER,
:CONTACT_FAX,
:SN
)";
$params[] = array('name'=>':TYPE', 'value'=>$this->type);
$params[] = array('name'=>':NAME', 'value'=>$this->name);
$params[] = array('name'=>':CONTACT_ADDR', 'value'=>$this->contactAddress);
$params[] = array('name'=>':CONTACT_NUMBER', 'value'=>$this->contactNumber);
$params[] = array('name'=>':CONTACT_FAX', 'value'=>$this->contactFax);
$params[] = array('name'=>':SN', 'value'=>$this->serialNumber);
$db = $this->load->database('TESTDB', TRUE);
$db->query($sql, $values, TRUE);

Thursday, December 09, 2010

Generate setter/getter for PHP in Eclipse

很久沒發文了,慶祝今天找到個快速產生setter/getter的套件,特別上來分享一下!

話說使用Eclipse開發Java class時在變數上點右鍵後選source即可看到自動產生setter/getter的選項,但開發PHP class時卻沒有這項貼心的功能~
詢問Google老師之後看到了很多做法,其中不乏自行編輯Eclipse的template for auto code completion,但是最讚的莫過於PHP source plugin這個套件,裝完之後Eclipse的toolbar上會出現"PHP Source",點下去即可選擇要產生特定變數的Getter/Setter :-)

下面的URL是該套件的官方網站:
http://pdt.plugins.e-surf.pl/features.php
裡面有screenshot供人瞻仰。。。

Saturday, May 22, 2010

紅酒"蒸"牛肉~

醞釀許久的煮飯魂終於在今天得到實現了~
參考前人的食譜(http://www.wretch.cc/blog/QLynnQ/7273158)之後,昨天下班後直奔sogo復興館B2的生鮮超市買了以下食材:





經過一整個晚上的浸泡,牛肉散發出迷人的香氣,放到鍋子裡稍微煎過之後更是香氣四溢!



牛肉起鍋後不用洗鍋子,直接把洋蔥放下去拌炒,接著再把紅蘿蔔與洋菇放下去一起炒,接著把蕃茄切塊丟進去煮成天然番茄醬,理論上現在應該就要把浸牛肉的紅酒倒進去悶煮,但有鑒於紅酒存量不足,於是拿水代替~









然後加入鹽,黑胡椒,香料攪拌調味









將煮好的醬汁與起鍋的牛肉混合後把之前保存下來的紅酒肉汁一併加到鍋內









再加點鹽、黑胡椒、香料就可以放進電鍋裡蒸了(為了確保蒸得夠久,我在電鍋的外鍋放了三碗水)!





最後就是清理環境,打完收工,等著吃飯囉~


Friday, March 19, 2010

等一下就下車

搭捷運的時候很常聽到"等一下就下車",今天早上不免俗的又聽到了~
很奇怪,看到行動不便的人讓座是很正常的一件事,為什麼要用"等一下就下車"當做理由呢?
還是說"等一下沒有要下車"就不打算讓坐,如果是這樣,幹麻還假惺惺的讓座呢?
反正等一下你下車自然會空出一個座位啊!
真是莫名奇妙~

Saturday, March 13, 2010

指定Eclipse使用JDK執行

Symdrome:

The Maven Integration requires that Eclipse be running in a JDK, beacuase a number of Maven core plugins are using jars from the JDK.

Please make sure the -vm options in eclipse.ini is pointing to a JDK and verify that Installed JREs are also using JDK installs.

Solution:
在eclipse.ini的最開頭(一定要在最開頭,而且-vm之後要換行!)加上jdk裡面javaw.exe的完整路徑,如下:
-vm
C:\Program Files\Java\jdk1.6.0_16\bin\javaw.exe

Sunday, March 07, 2010

Servicemix 3.3.1最常見的build error & solution

先給sulution:
http://cwiki.apache.org/SM/discussion-forums.html#nabble-tt25602583|a25603368

再給syndrome:

error: error reading
[Home_Dir]\.m2\repository\org\springframework\spring-dao\2.0.6\spring-dao-2.0.6.jar;
error in opening zip file
重點是error in opening zip file
根據官方說法,是被3rd party的東西影響到的,所以我們只需要將solution提供的repository加入pom.xml的repositories裡,再將zip file的目錄刪除,以上面的syndrome為例 --> [Home_Dir]\.m2\repository\org\springframework\spring-dao
然後重新執行mvn install皆可。

據說在3.3.2版本中會解決這個問題,至於他什麼時候要release,誰知道呢?
所以先將就一下temp solution,頂著先~

Thursday, March 04, 2010

不喜歡照著manual還做不出來的感覺!

Open source的東西這就是這樣。。。照著manual做還不一定能得到相同的結果!
http://servicemix.apache.org/building.html
已經是從SVN checkout src出來,還是在build的過程中得到這樣的錯誤訊息:

[INFO] Error building POM (may not be this project's POM).
Project ID: null:servicemix-utils:bundle:1.1.0
Reason: Cannot find parent: org.apache.servicemix:servicemix-pom for project: null:servicemix-utils:bundle:1.1.0 for project null:servicemix-utils:bundle:1.1.0

Google也不一定神準,花了點時間把垃圾過濾掉後終於找到解答
http://mail-archives.apache.org/mod_mbox/servicemix-users/201002.mbox/%3CA57F3D97-AB5E-4E7E-A84D-46B8771B9E5C@gmail.com%3E
原來是檔案根本就有問題!
刪掉讓maven在build的過程中自動再下載一次就解了,之後在build xerces也出現相同的錯誤,解法同樣是將對應的.pom檔移除。

Wednesday, February 24, 2010

眉眉角角~

今天終於解決了一個延宕多時的問題 --> 在我的機器上始終無法執行ANT!

C:\Documents and Settings\Administrator>ant
這個時候不應有 Files\Apache。

上Google找了很多次也找了很久始終找不到答案(居然有Google找不到的東西!),
在百般無奈下只好再度把manual翻出來看,終於在仔細研讀後看到了這麼一段話
Windows Note:

The ant.bat script makes use of three environment variables - ANT_HOME, CLASSPATH and JAVA_HOME. Ensure that ANT_HOME and JAVA_HOME variables are set, and that they do not have quotes (either ' or ") and they do not end with \ or with /. CLASSPATH should be unset or empty.

原來是我先前設定的CLASSPATH造成ANT無法執行,於是趕緊在ant.bat的開頭加上
set CLASSPATH=

經測試後終於解決了擱置超過半年的疑案!
C:\Documents and Settings\Administrator>ant
Buildfile: build.xml does not exist!
Build failed
這個故事告訴我們人要在走投無路而且有只能靠自己的覺悟時才會認真看manual。。。