将方法添加到php类

时间:2014-07-09 08:48:27

标签: php mysqli

我是OOP的新手,我的数据库有一个mysqli类包装器。有些方法不在包装器中,我想在我的查询中使用它们,我只是不知道如何在类中添加它们。

我的课程在https://bitbucket.org/getvivekv/php-mysqli-class/src/f72d10285e9327681109871dccd99e23891bfde9/class.database.php?at=master

我需要计算一个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.

请帮助

1 个答案:

答案 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()方法。