Re: [PHP-ES] do while + mysql
[email protected] (Alexis Saucedo) Thu, 3 Apr 2014 18:54:03 -0300
| Newsgroups | php.general.es |
|---|---|
| Message-ID | <CAAu=vQfFwuaD5=1eK1NTVyZr_f2UMV3rT9_1SKw2WSBVzVkmLQ@mail.gmail.com> |
Muchisimas gracias a todos por su tiempo, voy a tenerlo en cuenta. Un saludo! El 31 de marzo de 2014, 16:49, @ndrés <[email protected]> escribió: > 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 >