我是OOP的新手,我的数据库有一个mysqli类包装器。有些方法不在包装器中,我想在我的查询中使用它们,我只是不知道如何在类中添加它们。
我需要计算一个select语句的行数。
这是正在做的事情
$where = array(
'staff_id' => 'Input::get("staff_id")',
'role' => 'Input::get("role")'
);
$sel = $db->select()->from('staff_role')->where($where) ;
$total = mysqli_num_rows($sel);
if($total==0){
}
我收到此警告
Warning: mysqli_num_rows() expects parameter 1 to be mysqli_result.
请帮助
答案 0 :(得分:2)
两件事:
1)验证这些行,在调用这些方法时是否真的需要引号?
'staff_id' => 'Input::get("staff_id")',
'role' => 'Input::get("role")'
2)你的包装类有一个你没有调用的方法execute(),它应该是这样的
$sel = $db->select()->from('staff_role')->where($where)->execute();
现在你应该得到结果集。如果sql语句中有任何问题,您的包装器将抛出错误。要计算,你有
$db->affected_rows
要获得结果,请使用query()而不是execute()方法。