2014-10-27 90 views
0

我從一個查詢剛開了價值的一個問題:MySQL查詢警予未獲得價值

public static function sa() { 
$resul = Yii::app()->db->createCommand()->select('MAX(id)')->from('yii_availability')->execute(); 
$got = mysql_query($result); 
$res = $got['MAX(id)'] + 1; 
$rs='SA'.$res; 

return "{$rs}"; 
} 

,它總是返回SA1,但我希望得到最後ID和後加1所以在這種情況下,我有我的id列中的下一個autoincremental id。

例如:我正在創建一個新的註冊表與字段SA0000005。該數字的計算得到的最後一個自動增加值加1

感謝您的寶貴幫助

回答

1
$resul = Yii::app()->db->createCommand()->select('MAX(id)')->from('yii_availability')->execute(); 
$got = mysql_query($result); // what are you even doing here 

除了錯別字,這不是你應該如何使用查詢生成器。你讀過the documentation on the query builder嗎?

你總是得到SA1的可能原因是因爲$got['MAX(id)']表達式爲NULL。你加1。你想要的東西like this

// returns false on no-result, MAX('id') otherwise 
Yii::app()->db->createCommand()->select('MAX(id)')->from('yii_availability')->queryScalar(); 
+0

謝謝埃利亞斯,我正在尋找許多解決方案,但沒有人與queryScalar,我現在有正確的結果。再次感謝。 – 2014-10-27 12:35:16