2012-02-15 73 views
0

我需要將大字符串與mysqlDB中列的字段進行匹配。像Mysql:在預期條件接近「rlike」的上下文中指定的非布爾類型的表達式

%ERROR-kkl_ub {} :(來自YAMios):目標(名稱= sdasdays.s0sda.rindasdth.sbo98.sbssdao_sad)未註冊。

我把這個字符串傳給變量$ signautre。

和我使用這個mysql命令

$query = "select id, name, status "."from bucket "."where name rlike '$signature'"; 
    &execQuery($query); 

我得到的錯誤:致命錯誤:操作失敗使用ExecQuery() - 錯誤的使用ExecQuery。一個非布爾類型的表達式,指定在一個上下文中,其中一個條件是預期的,接近'rlike'

我甚至無法使用「rlike」進行簡單匹配。 即使這個命令錯誤與相同的致命錯誤。

$query = "select id, name, status "."from bucket "."where name rlike '^n'"; 

需要幫助...

+0

爲什麼你需要'rlike'?請在「我需要匹配大字符串」中定義單詞「匹配」 – zerkms 2012-02-15 03:55:50

+0

我的數據庫中的'名稱'列有大字符串,就像上面給出的那樣。我會得到我的客戶的這種模式,然後我需要與列'name'中的值匹配,並從其他字段(如id和狀態)中提取相應的數據。 rlike和正則表達式,給我同樣的錯誤。 我不是這些你有沒有辦法做到這一點? – shreyasGowda 2012-02-15 04:03:03

+0

顯然模式不正確 – zerkms 2012-02-15 04:30:08

回答

0

根據在評論你的解釋,你只需要=

$query = "select id, name, status from bucket where name = '" . mysql_real_escape_string($signature) . "'"; 

在這種情況下,MySQL的檢查,如果name正好等於$signature

ps:& in &execQuery($query);沒有意義

+0

我我正在編寫一個perl腳本,使用HSDapi來訪問數據庫。它說這個子例程(mysql_real_escape_string)沒有定義。我需要安裝哪個API才能訪問這個子例程? – shreyasGowda 2012-02-15 05:06:34

+0

我以爲你用'php'(因爲指定了'mysqli')。那麼 - 你需要找到如何在perl中引用查詢字符串 – zerkms 2012-02-15 05:20:04

相關問題