Buenos días, estoy desarrollando un script conectado con la base de datos de PrestaShop y en principio todo me iba bien hasta que me he topado con un problema que no logro solucionar. Tengo dos consultas simples en sql que ejecutándolas vía phpMyAdmin van perfectas y las dos muestran un resultado correcto, pero… cuando estas mismas consultas las uso con la clase db de PrestaShop, una funciona y otra no.
Consultas (Todas dan el resultado que deberían)
SELECT COUNT('id_product') FROM XXX_product WHERE reference = 'ga-00898640';
// Resultado 1
SELECT COUNT('id_product') FROM XXX_product WHERE reference = 'ga-01210058';
// Resultado 1
Consultas en PHP
$consulta_sql = "SELECT COUNT('id_product') FROM ". _DB_PREFIX_ ."product WHERE reference = 'ga-00898640'";
$resultado = $db->getValue($consulta_sql);
// Resultado 0 (esta mal)
$consulta_sql = "SELECT COUNT('id_product') FROM ". _DB_PREFIX_ ."product WHERE reference = 'ga-01210058'";
$resultado = $db->getValue($consulta_sql);
// Resultado 1 (esta bien)
¿Tenéis alguna idea de donde puede estar el error?
Actualización: acabo de descubrir que de los +8000 registros de productos que hay en la tabla ps_product, la clase db solo lee alrededor de 2700 registros.
2º Actualización: El producto con referencia ga-00898640 tiene el id_product 298 y he observado que al hacer un select de todos los registros de la tabla product pasa del registro con id_product 295 al 302 (saltándose los registros del 296 al 301):
} [98] => array(1) {
["id_product"] => string(3)
"295"
} [99] => array(1) {
["id_product"] => string(3)
"302"
}
3º Actualización: He probado a realizar una conexión por mysqli_connect (sin la clase db de PrestaShop) con las mismas consultas y el resultado es correcto, el fallo solo se produce cuando uso la clase db.