我们可以在Yii框架中使用核心PHP函数吗?
在这里,我有一个核心的php函数
function abc_function(){
$query=mysql_query("select emp_id, days from tmp_emp_work where comp_id='$comp_id' AND active=1");
$count=mysql_num_rows($query);
if ($count) {
$del_existing=mysql_query("DELETE from temp_t_balances where com_id='$comp_id'");
$row=mysql_fetch_array($query);
while ($row) {
$emp_id=$row['emp_id'];
$array=dis_t_bal ($emp_id,$com_id);
$start_bal=$array[0];
$taken=$array[1];
$comp_days=$array[2];
$remain_bal=$array[3];
$booked=$array[4];
$true_bal=$array[5];
$all_days=$array[6];
$insert_bal=mysql_query("INSERT into temp_t_bal values ('','$comp_id','$emp_id','$start_bal','$taken','$remain_bal','$booked','$true_bal')");
$row=mysql_fetch_array($query);
}
}
}
这可能吗?提前致谢
答案 0 :(得分:1)
您已阅读有关不应该这样做的所有评论。这是你要评估的。
但是,支持直接提交查询的功能。
作为一个例子
$sqlQuery = "SELECT employee_id, holidays
FROM employee_work
WHERE company_id='$company_id' AND emp_active=1';
$listEmployee = Yii::app()->db->createCommand($sqlQuery)->queryAll();
foreach ($listEmployee as $itemEmployee){
print_r($itemEmployee);
}
请注意,上述查询不安全,可以进行SQL注入。 Yii提供了一种解决方案,通过使用绑定将查询升级为更安全的格式。
$listEmployee = Yii::app()->db->createCommand("SELECT employee_id, holidays
FROM employee_work
WHERE company_id=:company_id
AND emp_active=1')
->bindValue(':company_id',$company_id)
->queryAll();
对于不返回结果集的查询,您还可以访问query()方法
Yii::app()->db->createCommand('DELETE * FROM customer')->query();
参考文献:http://www.yiiframework.com/doc/guide/1.1/en/database.dao