我有一个问题gettin'来自查询的值:
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栏中有下一个自动增量ID。
例如:我正在使用字段SA0000005创建一个新的注册表。计算此数字,得到最后一个自动增量值加1。
感谢您的宝贵帮助
答案 0 :(得分: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();