Tem como substituir PDO->fetchAll(PDO::FETCH_ASSOC) por uma função do mysql_

358 views
Skip to first unread message

André da Silva Severino

unread,
Jul 14, 2011, 12:50:25 PM7/14/11
to php-brasil
Olá pessoal,
existe alguma função do mysql que faça o mesmo efeito do PDO->fetchAll(PDO::FETCH_ASSOC), tentei o mysql_fetch_assoc mas não da certo, ele retorna os dados um pouco diferente. Alguém sabe se existe algo pronto no proprio mysql para fazer isso ?


Thiago Gomes Veríssimo

unread,
Jul 14, 2011, 4:24:36 PM7/14/11
to php-b...@googlegroups.com
Pq mudar PDO->fetchAll(PDO::FETCH_ASSOC)?, acho que eh o melhor jeito...

felipe moraes

unread,
Jul 14, 2011, 6:26:44 PM7/14/11
to php-b...@googlegroups.com
imagino que não ..

fetchAll nada mais é que um loop do fetch_XXXX

vc pode fazê-lo com switch .. fetch_object, fetch_assoc, fetch_array, fetch_row e por aí vai


Em 14 de julho de 2011 13:50, André da Silva Severino <andredasil...@gmail.com> escreveu:
Olá pessoal,
existe alguma função do mysql que faça o mesmo efeito do PDO->fetchAll(PDO::FETCH_ASSOC), tentei o mysql_fetch_assoc mas não da certo, ele retorna os dados um pouco diferente. Alguém sabe se existe algo pronto no proprio mysql para fazer isso ?


--
Você está recebendo esta mensagem porque se inscreveu no grupo "php-brasil" dos Grupos do Google.
Para postar neste grupo, envie um e-mail para php-b...@googlegroups.com.
Para cancelar a inscrição nesse grupo, envie um e-mail para php-brasil+...@googlegroups.com.
Para obter mais opções, visite esse grupo em http://groups.google.com/group/php-brasil?hl=pt-BR.



--
http://felipebastosweb.com.br
http://twitter.com/felipebastosweb

André da Silva Severino

unread,
Jul 15, 2011, 8:18:35 AM7/15/11
to php-b...@googlegroups.com
Então eu não posso usar o pdo, é um exercicio eu tenho que fazer retornar uma função que retorna os dados da mesma forma que o fetchAll() com dados associativos, mas sem usar o pdo, tem que ser somente com o mysql, fiz desta forma um amigo me ajudou.

function getValues( $query, $type = null ){
     if( !is_resource( $query ) ){
         throw new Exception( '...' );
     }else{
          switch( $type ):
            case 'NUM': MYSQL_NUM; break;
            case 'BOTH': MYSQL_BOTH; break;
            default: MYSQL_ASSOC; break;                   
          endswitch;

          if( mysql_num_rows( $query ) != false ){
              $row = Array();
              $i = 0;
              while( $rows = mysql_fetch_array( $query ) ):
                 $row[ $i ] = $rows;
                 ++$i;
              endwhile;
              return $row;
          }
     }
 }

$qry1   = mysql_query("SELECT * FROM user WHERE status != 0 ORDER BY name ASC");
$users = getValues($qry1); 
echo '<pre>'; var_dump($users);

Saída:
array(1) {
 
[0]=>
  array
(4) {
   
["user_id"]=>
   
string(1) "1"
   
["name"]=>
   
string(13) "Administrador"
   
["email"]=>
   
string(15) "ad...@admin.com"
   
["status"]=>
   
string(1) "1"
 
}
 
[1]=>
  array
(4) {
   
["user_id"]=>
   
string(1) "2"
   
["name"]=>
   
string(6) "aeeaea"
   
["email"]=>
   
string(16) "eae...@email.com"
   
["status"]=>
   
string(1) "1"
 
}
}

Deixei o código ae vai que alguém precisa, abraços e até mais :p

Em 14 de julho de 2011 17:24, Thiago Gomes Veríssimo <veriss...@gmail.com> escreveu:
Pq mudar PDO->fetchAll(PDO::FETCH_ASSOC)?, acho que eh o melhor jeito...

--
Você está recebendo esta mensagem porque se inscreveu no grupo "php-brasil" dos Grupos do Google.
Para ver esta discussão na web, acesse https://groups.google.com/d/msg/php-brasil/-/_7F5hF5tiS0J.

Suissa

unread,
Jul 15, 2011, 10:44:23 AM7/15/11
to php-b...@googlegroups.com
Não sei se é isso que vc quer mas pode tentar

$rs   = mysql_query("SELECT * FROM user WHERE status != 0 ORDER BY name ASC");
while($arr = mysql_fetch_assoc($rs)){
 $dados = $arr;
}
var_dump($dados);


2011/7/15 André da Silva Severino <andredasil...@gmail.com>



--
Jean C. Nascimento aka Suissa
WebDeveloper Sênior - PGS - SP

Blog - suissacorp.com.br/suissa/
NoSQL Evangelist - nosqlbr.com.br/
iGrape Coordenador PHP - igrape.org/
TheWebMind Evangelist - thewebmind.org/

      



felipe moraes

unread,
Jul 15, 2011, 4:51:24 PM7/15/11
to php-b...@googlegroups.com
$rs   = mysql_query("SELECT * FROM user WHERE status != 0 ORDER BY name ASC");
while($arr = mysql_fetch_assoc($rs)){
 $dados[] = $arr;
}
var_dump($dados);

para agrupar resultado ..

uma curiosidade ?? o professor pediu pra fazer uma função ou classe ? se atente a isso
http://felipebastosweb.com.br
http://twitter.com/felipebastosweb

Suissa

unread,
Jul 15, 2011, 4:53:15 PM7/15/11
to php-b...@googlegroups.com
Desculpe falha minha era $dados[] q eu queria ter falado mesmo

2011/7/15 felipe moraes <feli...@gmail.com>

André da Silva Severino

unread,
Jul 15, 2011, 5:23:23 PM7/15/11
to php-b...@googlegroups.com
Então pessoal, era um amigo meu que me desafiou ._., fiz por fazer, a forma que voces postaram também da certo, mas aquela que eu coloquei tb deu :b, na verdade nao foi falado a forma que era pra fazer (funcao, classe, estruturado...), mas eu fiz uma funcao pq tb ja daria certo :p
Reply all
Reply to author
Forward
0 new messages