//Função que transforma um result mysql em array function mysql2array($att_mysql_result){ mysql_data_seek($att_mysql_result,0); $row_count = 0; $tmp_array = array(); while($att_mysql_result_value = mysql_fetch_array($att_mysql_result)){ $selector = 0; $key_count = 0; $array_string = "array("; foreach (array_keys($att_mysql_result_value) as $key){ if ($selector){ $array_string .= "'" . $key . "' => '" . $att_mysql_result_value[$key] . "'" . ((sizeof($att_mysql_result_value)-1 == $key_count)? "" : ","); } $selector = !$selector; $key_count++; } $array_string .= ")"; eval ("\$tmp_array[\$row_count] =" .$array_string . ";"); $row_count++; } return $tmp_array; } //Forma de utilização $sql = "select * from table"; if (!($result = mysql_query($att_sql,$this->conn))){ retorna_algum_erro();//uma função sua que retorna um erro } else{ $mysql_array = mysql2array($result);//Esse array já pode ser colocado nos seus assign´s smarty, ou pode ser usado como array mesmo em qualquer outra coisa }