2013-02-14 49 views
0

我正在使用cakephp 1.2,並且我有這種情況:
我有一個有'class'字段的表,其中類可以是'A','B' 'C','G'或三個字母'DBB','ABA'等。
每個字符串都有意義(例如,A = Article,B = Book等)。
我寫這篇文章的代碼:
在mysql中獲取字段長度以進行查詢

if ($_GET['classificazione']!="art0") 
{ 
    $classificazione=$_GET['classificazione']; 
    if ($classificazione=="A"||$classificazione=="B"||$classificazione=="C"||$classificazione=="G") 
       $conditions[]=array('classe =' => "$classificazione"); 

這是工作的「一個字母」的情況下,但我不知道做什麼用2個或多個字母做。
因爲我不在乎,如果他們是平等的(「DBB」和「ABA」是兩份文件),我想檢查的長度,所以我嘗試這樣做:

else 
    $conditions[]=array('LENGTH(classe) > 1'); } 

我測試了其他人,現在它正在工作。

+1

我不是當然,據我瞭解,你需要[CHAR_LENGTH](http://dev.mysql.com/doc/refman/5.0/en/string-functions.html#function_char-length) – 2013-02-14 08:40:35

+0

'if($ classificazione = =「A」|| \t $ classificazione ==「B」|| \t $ classificazione ==「C」|| \t $ classificazione ==「G」|| \t $ classificazione ==「DBB」|| \t $ classificazione ==「ABA」)'沒有做你的工作? – SparKot 2013-02-14 08:54:36

+0

@DoSparKot與其他我把它的工作。我認爲你沒事,但我可以有更多的那兩個字母組合,所以我需要最常見的情況 – Ettore 2013-02-14 09:14:52

回答

1

使用長度爲()以字節爲單位檢查長度:在字符(多字節字符串有用)的數量檢查長度

SELECT str FROM sometable WHERE LENGTH(str) = 5; 

或者CHAR_LENGTH():

SELECT str FROM sometable WHERE CHAR_LENGTH(str) = 5;