Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Problema con funcion con parámetros

Estas en el tema de Problema con funcion con parámetros en el foro de PHP en Foros del Web. Buenas tardes a todos! He creado una función en mi archivo "functions.php" pero no logro que acepte el segundo parametro, esta es la función: function ...
  #1 (permalink)  
Antiguo 04/03/2018, 17:32
Avatar de guille_delfino  
Fecha de Ingreso: julio-2014
Ubicación: Buenos Aires, Argentina
Mensajes: 125
Antigüedad: 10 años, 3 meses
Puntos: 4
Exclamación Problema con funcion con parámetros

Buenas tardes a todos!

He creado una función en mi archivo "functions.php" pero no logro que acepte el segundo parametro, esta es la función:

function obtener_posts_por_categoria($conexion, $nombre_categoria){
$sentencia = $conexion->prepare("SELECT * FROM categorias WHERE categoria = $nombre_categoria");
$sentencia->execute();
return $sentencia->fetchAll();
}

La tabla categorias esta conformada así:

id (int 11) A_I PRIMARY
categoria (varchar 200)
articulo (int 11) INDEX con fk a otra tabla llamada "articulos"

Llamo a la funcion desde mi archivo single.php:

$nombre_categoria = 'SEO';
$categorias = obtener_posts_por_categoria($conexion, $nombre_categoria);
$categorias = $categorias[0];

Pero no funciona, sin embargo si a la funcion le escribo 'SEO' diractamente, funciona perfectamente:

function obtener_posts_por_categoria($conexion, $nombre_categoria){
$sentencia = $conexion->prepare("SELECT * FROM categorias WHERE categoria = 'SEO' ");
$sentencia->execute();
return $sentencia->fetchAll();
}

Mi duda es si, las funciones aceptar parametros que no sean númericos, es decir, ¿aceptan variables que sean string?
__________________
Atentamente,

Guillermo Delfino
[email protected]
  #2 (permalink)  
Antiguo 04/03/2018, 21:16
Avatar de xfxstudios  
Fecha de Ingreso: junio-2015
Ubicación: Valencia - Venezuela
Mensajes: 2.448
Antigüedad: 9 años, 4 meses
Puntos: 263
Respuesta: Problema con funcion con parametros

las funciones aceptan lo que les mandes, el asunto es que error específicamente te esta dando, pues no indicas nada y es complicado adivinar.

por otro lado, la variable que usas deberia de estar dentro de comillas simples, asi:

Código PHP:
Ver original
  1. $sentencia = $conexion->prepare("SELECT * FROM categorias WHERE categoria = '$nombre_categoria'");
__________________
[email protected]
HITCEL
  #3 (permalink)  
Antiguo 05/03/2018, 11:25
Avatar de guille_delfino  
Fecha de Ingreso: julio-2014
Ubicación: Buenos Aires, Argentina
Mensajes: 125
Antigüedad: 10 años, 3 meses
Puntos: 4
Respuesta: Problema con funcion con parámetros

Es verdad lo que decis, no indiqué el error, pido disculpas por la falta de info, hace poco menos de dos meses que estoy aprendiendo PHP y no estoy lúcido aún.

Este es el error que me arrojaba:

Notice: Undefined offset: 0 in /opt/lampp/htdocs/rbv/single.php on line 16.

Ya esta resuelto gracias a vos, el problema eran las comillas en la función. No sabía que llevaban comillas, muchas gracias por tu ayuda xfxstudio!
__________________
Atentamente,

Guillermo Delfino
[email protected]

Etiquetas: function, mysql, parametros
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:01.