2013-11-21 60 views
0

我想將它轉換爲查詢生成器的表達。 我嘗試了很多,但我做不到。請幫助我,如果你能轉換到Yii的查詢生成器

$connect = mysql_connect("localhost","root","") or die("not connecting"); 
    mysql_select_db("skykeey",$connect) or die("no db :'("); 

    $find1 =mysql_query("SELECT Count(*) FROM `mosqueculturalliablee` WHERE `email` ='$this->username'",$connect); 
    $count1=mysql_fetch_row($find1); 

我本人將其轉換爲:

$find1 =Yii::app()->db->createCommand() 
    ->select ('count(*) as num') 
    ->from('mosqueculturalliablee') 
    ->where('email=' . $this->username) 
    ->queryScalar(); 

,但它不工作,我也得到MySQL的語法錯誤

我應該怎麼辦?

回答

0

您還沒有包括在查詢$this->username引號。

->where("email='" . $this->username."'") //outputs where email='username' 

作爲改進,您應該使用PDO來代替。

->where("email=:email") 
->queryScalar(array(':email'=>$this->username)); 
+0

這就是它!感謝您的幫助:) – user3019375

+0

另一個問題,如果我想要計算在此查詢中選擇的行數,我該怎麼辦?我想將這個值保存在$ numrows這樣的變量中 – user3019375

+0

這應該作爲一個單獨的問題提出。 – topher

相關問題