más que HTML desarrollo web con estándares

Conflictos entre date_format de MySQL y sprintf de PHP

Publicado el 13 de febrero de 2010 en: PHP

PHP

Un fragmento de código de este tipo:

sprintf (SELECT DATE_FORMAT(fecha, '%d') AS dia FROM tabla WHERE nombre=%s, $name);

Devuelve un error de PHP, ya que se interpreta %d como un parámetro de sprintf, cuando en realidad lo es del date_format de MySQL. Afortunadamente, la solución es muy sencilla.

Para que PHP no interprete el símbolo % como un parámetro de sprintf, debemos indicarlo con %%. Aplicado al ejemplo anterior:

sprintf (SELECT DATE_FORMAT(fecha, '%%d') AS dia FROM tabla WHERE nombre=%s, $name);

Más información

Comentarios

Los comentarios están cerrados.