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);
Los comentarios están cerrados.