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