Lo siguiente me funciona perfecto en mi computador local, donde tengo instalado Xampp:
Mi archivo de conexión:
connect.php
<?php
$servername = "localhost";
$dbname = "xxxxx";
$username = "xxxxx";
$password = "xxxxx";
try{
$db = new PDO("mysql:host=$servername;dbname=$dbname",$username,$password);
$db->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);
}catch(PDOException $e){
echo "Conección a la base de datos falló: " . $e->getMessage();
}
?>
Mi archivo que trae información pero en este hosting no muestra nada:
get_catImgs.php
<?php
require_once "../connection/connect.php";
$limit = 12;
$trae=$db->prepare("SELECT id, imagen as img FROM items_categorias WHERE in_index IS NOT NULL ORDER BY in_index ASC LIMIT $limit");
$trae->execute();
echo json_encode($trae->fetchAll(PDO::FETCH_ASSOC));
?>
Antes que todo ya comprobé que el archivo de conexión está bien.
El archivo get_catImgs.php
arroja todos los resultados esperados en mi computador local, pero en un hosting web que acabo de contratar no me arroja ni siquiera un error.
Algo extraño es que si reemplazamos la última línea con lo siguiente:
echo json_encode($trae->rowCount());
Se muestra el número 12, que es la cantidad de resultados extraídos, lo que comprueba que la conexión está bien. Pero lo encuentro ilógico, es como si tuviesen algún problema con el ->fetchAll(PDO::FETCH_ASSOC)
lo cual me parece sin sentido.
Por favor quisiera saber qué pudiese estar mal de mi parte, o qué pudiese estar mal de parte del hosting web.