| 
 Posted by Marcel Molenaar on 08/27/07 14:23 
Anyone 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: 
 
<?php 
 
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'].'<br />'; 
 
  } 
 
 } 
 
} 
 
 
# 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'].'<br />'; 
 
} 
 
?>
 
  
Navigation:
[Reply to this message] 
 |