2013-07-09 134 views
3

喜網絡的好人,PHP在MySQL查詢

假設我有此查詢

$query ="select col1, col2 From table where condition"; 

我想獲得COL2

$DLMPos = strpos(col2, '-DLM'); 
if($DLMPos != "" && $DLMPos >= 0){ 
$col2= strpos(substr(col2, $DLMPos, strlen(col2)), " ");   
} 

的值以下運行問題:有沒有什麼辦法可以在查詢 中包含這個處理==> $ query =「select col1,if(bla bla bla)From table where condition」;.

我知道我們可以做如果在MySQL查詢語句,但我們可以做像strpos和substr的東西?

在此先感謝

回答

5

你可以找到的是MySQL有此字符串處理函數列表:http://dev.mysql.com/doc/refman/5.6/en/string-functions.html

strpossubstr大致相當於LOCATESUBSTRING,雖然你的使用情況,你可能會發現SUBSTRING_INDEX更多有用:

返回字符串str之前的子字符串count之前發生的次數e分隔符delim。如果count爲正數,則返回最後一個分隔符左邊的數字(從左數起)。如果count爲負數,則返回最後一個分隔符右邊的數字(從右數起)。

還有一個IF function,讓你寫條件。

0

我不確定如何完全滿足您的需求,但是如果您使用mysql_fetch_row()函數讀取每一行,則可以在循環中執行每條記錄上的邏輯。

看看這個關於如何做到這一點的信息:PHP: fetch MySQL records one at a time