2014-06-27 159 views
0

我在Yii框架中構建了一些Sql查詢。Sql字符串查詢不起作用

到目前爲止,所有工作都很好,直到我需要將變量與字符串進行比較。

這裏是我的功能與查詢:

public function countCanceled() 
{ 
    $week  = Person_Event::model()->weekByDate(); 
    $week_id = $week->id; 
    $datalogin = mysqli_connect(/*connect is working fine*/); 
    $sql  = "SELECT id FROM tbl_event WHERE week_id=$week_id AND status_id='canceled'"; 
    $query  = mysqli_query($datalogin, $sql); 
    $numrows = mysqli_num_rows($query); 

    return $numrows; 
} 

現在,我很清楚有取消狀態的一個事件,我跑了相同的查詢在MySQL服務器,並給予1的結果,那麼,爲什麼在Yii不起作用? (試圖用「like」切換「=」,沒有什麼區別)

ps是的,在這種特殊情況下,我可以使用內置的Yii查詢,但我有其他更復雜的查詢,我需要比較字符串。 謝謝, 馬克。

+0

與「8」取代8 – SkyWalker

+1

你真的確認該查詢在MySQL服務器工作?爲什麼您使用簡單mysqli_不是Yii適配器嗎?另外你可以通過方法連接到數據庫。看看Yii適配器是如何工作的。你可以按照模型創建quries – turson

+0

week_id工作正常,問題處於取消狀態。編輯我的帖子關於Yii的查詢工具 – Mark2Bra

回答

0

什麼是status_id的類型如果是char,那麼數據是填充到全長的空間。您可以將其更改爲varchar,然後進行比較。而對於像你可以使用LIKE'取消%'

ps。抱歉,我沒有足夠的信譽評論... :(

最好的問候, 內博伊沙

+0

Status_id已經varchar – Mark2Bra

+0

這是在數據庫和查詢相同的情況下(取消與取消)?從表中選擇status_id時會得到什麼? –

+0

Th狀態不保存英文,因此不區分大小寫。我得到0,但我有1個事件被肯定取消。 – Mark2Bra