Cita:
Iniciado por draganus Hola todos soy novato en PHP estoy tratando de hacer que me extraiga la fecha de mi campo
fecha_cumpleaños el mes y así poder comparar con la fecha actual y saber si cumple años o no?
a continuación les dejo el código, sin error pero con la fecha ingresada manualmente.
Código PHP:
$mes_actual = date('MM');
$fecha_cumple = '1987-10-21';
$mes_cumple = date('MM', strtotime($fecha_cumple));
if ($mes_actual == $mes_cumple) echo 'Feliz Cumpleanos!!';
Ahora les dejo el codigo, que estoy extrayendo de una BD en postgresql, el problema es que me sale un error de
Warning: strtotime() expects parameter 1 to be string, array given Código PHP:
$pdo = new PDO('pgsql:host=localhost;port=5432;dbname=Eventos', 'postgres', '12345');
$stmt = $pdo->prepare("Select to_char(fecha_cumpleaños,'DD-MM-YYYY') from cliente");
$stmt->execute();
$cumpleaños = $stmt->fetchAll(PDO::FETCH_COLUMN, 0);
var_dump($cumpleaños);
$mes_actual = date('MM');
$mes_cumple = date('MM', strtotime($cumpleaños));
if ($mes_actual == $mes_cumple) echo 'Feliz Cumpleanos!!';
Si alguien pudiera ayudarme por favor.
La primera recomendación es que no uses ñ, pon cumpleanyos, pero muchos sistemas no cogen la ñ.
Creo que fetchAll siempre devuelve un array, por lo que eso es lo que estaría mal. Estas cogiendo el array que te devuelve fetchAll y lo pasas a strtotime.
Podrias usar fetchColumn(0), eso te devuelve solo el campo, no un array.