我有以下代码在Yii中创建CDbCommand:
$cmd = Yii::app()->db->createCommand(array(
'select'=>'CMUM, CPRO, CUN, DMUN50',
'from'=>'PROVINCIAS',
'where'=>'CPRO = :CPRO'
));
$cmd->bindParam(":CPRO", $CPRO, PDO::PARAM_STR);
$cmd->setLimit(2);
这应该限制查询结果为2行,但我得到所有可用的行。为什么?
对
您应该在绑定参数之前设置限制。因为当你绑定参数时,它会在内部准备PDO语句。因此,您不能在此之后设置限制。
$cmd = Yii::app()->db->createCommand(array(
'select'=>'CMUM, CPRO, CUN, DMUN50',
'from'=>'PROVINCIAS',
'where'=>'CPRO = :CPRO'
));
$cmd->setLimit(2);
$cmd->bindParam(":CPRO", $CPRO, PDO::PARAM_STR);