Jump to content

Edit History

sergiorx8

sergiorx8

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.

sergiorx8

sergiorx8

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:

  } [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.

sergiorx8

sergiorx8

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:

  } [98] => array(1) {
    ["id_product"] => string(3)
    "295"
  } [99] => array(1) {
    ["id_product"] => string(3)
    "302"
  }

 

sergiorx8

sergiorx8

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.

sergiorx8

sergiorx8

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?

×
×
  • Create New...