Strange class OOP behavior
am 27.08.2007 16:23:07 von Marcel MolenaarAnyone ever experienced this problem.
When i pass a mysql result to the constructor of a class and use that
resultset inside that class the original resultset outside the class gets
affected too. That is not right i think because my result inside my class is
private. Is this a bug? Can someone look at my code below please:
require_once('includes/connect.php');
class test {
private $_result;
private $_record;
public function __construct($result) {
$this->_result = $result;
}
public function show() {
while($this->_record = mysql_fetch_array($this->_result)) {
echo $this->_record['name'].'
';
}
}
}
# usage
# sql statement dat artikels ophaald uit cartal database
$SQL = "SELECT * FROM test_table";
# uitvoeren van dit statement
$RESULT = mysql_query($SQL,$conn);
$t = new test($RESULT);
$t->show();
// mysql_data_seek($RESULT,0);
// this prints out nothing unless i call mysql_data_seek($RESULT,0) before
this whileloop so that means that the pointer of the recordset had moved to
the end because of the while loop in the class itself...that is strange!
while($RECORD = mysql_fetch_array($RESULT)) {
echo $RECORD['name'].'
';
}
?>