【发布时间】:2015-05-05 12:59:33
【问题描述】:
我为数据库查询创建了一个名为“Connection”的类:
class Connection{
public $mysqli;
public function read($query){
$result= $this->mysqli->query($query);
$num_result=$result->num_rows;
if($num_result>0){
while($rows=$result->fetch_assoc()){
$this->data[]=$rows;
}
return $this->data;
}
}
}
我是这样称呼我的班级的:
$obj=new Connection("localhost","root","","testpaginate");
$query="SELECT * FROM paginate";
$result=$obj->read($query);
mysqli_free_result($result);
$queries="SELECT * FROM paginate where id=1";
$results=$obj->read($queries);
print_r($results);
?>
当我执行时
$query="SELECT * FROM paginate";
$result=$obj->read($query);
它显示了正确的答案。
当我再次执行时
$queries="SELECT * FROM paginate where id=1";
$results=$obj->read($queries);
它显示当前结果和以前的结果
为什么会这样?非常感谢任何帮助。
【问题讨论】:
-
因为您重复使用
$this->data[]并将您的数据附加到那里。在填写之前设置$this->data = array();;