Re: [PHP-ES] do while + mysql

[email protected] (@ndrés) Mon, 31 Mar 2014 13:49:52 -0600
Newsgroups php.general.es
Message-ID <CAF399UYPL9cFayT1B7GLH8sLhfF4jubtwGD=QEf3wWgfFjVO8Q@mail.gmail.com>
Su sitio queda muchísimo más expuesto a ataques como SQL injections y XSS.

Ud le está dejando la corroboración de los datos a la capa de presentación.
Si el día de mañana quisiera migrar de PHP a otra tecnología (ej Ruby)
tiene que migrar todo el código de acceso a datos. Lo mismo pasa si
quisiera cambiar de BD, tiene que reescribir y probar la capa de
presentación.

Seguridad, mantenibilidad y claridad. Por esas tres razones es mala idea.


2014-03-28 16:48 GMT-06:00 El Ale... <[email protected]>:

> muchisimas gracias a todos por u tiempo me sirvio bastante! andres por que
> decis q no es una buena idea?.
>
> Saludos!
>
>
> El 27 de marzo de 2014, 3:06, @ndrés <[email protected]> escribió:
>
> > Hacer una consulta directa a una BD es muy mala idea. Store procedures.
> >
> >
> > 2014-03-26 19:09 GMT-06:00 Philipp Keweloh <[email protected]>:
> >
> > El 26 de marzo de 2014, 21:56, El Ale... <[email protected]>
> >> escribió:
> >>
> >> > Buenas tardes amigos, les traigo una consulta por que la verdad que
> hace
> >> > rato que vengo con esto "atandolo con alambre" pero ahora necesito una
> >> > solucion aunque no la encuentro, tengo una llamada a mysql por ejemplo
> >> "no
> >> > me reten si esta mal escrita" jaja:
> >> >
> >> > $query = mysql_query(SELECT * FROM db WHERE status='1');
> >> >               if($row=mysql_fetch_array($query){
> >> >               echo $row[nombre];
> >> >               mysql_query(UPDATE tabla SET status='2' WHERE id='6'")
> >> >              }
> >> >
> >> > entonces recoje los datos segun su id y si este es = a 1 lo trae sino
> no
> >> > niega, ahora yo a esto lo quiero hacer recorrer toda la base entonces
> >> pense
> >> > hacerlo con do while, ahora yo lo que solia hacer es
> >> >
> >> > do{
> >> > //hacer algo
> >> > }
> >> > while($query=TRUE)
> >> >
> >> > (supongamos) entonces cuanod ve un status 1 lo trae y lo renombre 2
> asi
> >> no
> >> > vuelve a traerlo pero jamas me respeta el $query=TRUE si este no es
> >> > verdadero sigue igual al bucle y jamas para, ¿alguno sabe que puedo
> >> estar
> >> > haciendo mal?.
> >> > Espero no haberlos mareado.
> >> >
> >> > Saludos!
> >> >
> >>
> >> Usa mysql_num_rows(),
> >> http://es.php.net/mysql_num_rows
> >>
> >> ejemplo:
> >>
> >> do{
> >> $query = mysql_query("SELECT * FROM db WHERE status='1' LIMIT 1");
> >>    if($row=mysql_fetch_array($query){
> >>       echo $row['nombre'];
> >>       mysql_query("UPDATE tabla SET status='2' WHERE id='6'")
> >>    }
> >> }
> >> while(mysql_num_rows($query));
> >>
> >> Y no seas bestia y ponle un LIMIT 1 si usas un while.
> >>
> >> Espero te sirva.
> >>
> >> Saludos,
> >>
> >> --
> >> Philipp Keweloh
> >>
> >
> >
> >
> > --
> >  Andrés Meseguer Rojas
> >
>



-- 
 Andrés Meseguer Rojas