prestashop 1.6 | Db :: getInstance() - > executeS返回sql查询的字符串

时间:2018-03-09 10:29:47

标签: mysql prestashop-1.6

Prestashop 1.6.1.8

以下代码:

public static function getIdOrder($id_cart)
{
    $id_cart = intval($id_cart);
    $id_order = Db::getInstance()->executeS(
        'SELECT id_order FROM '._DB_PREFIX_.'orders WHERE id_cart = '.$id_cart, false, false
    );
    var_dump($id_order);
    return $id_order;
}

返回next(在var_dump()中):

  

object(PDOStatement)#25(1){[“queryString”] => string(51)“SELECT id_order FROM ps_orders WHERE id_cart = 4769”}

而不是整数,例如42。

此外,直接对数据库执行精确查询返回必要的整数。

对于这种类型的查询,出现问题,我有点不正常吗?如果它是一个正确的查询,如何才能获得我正在查询db的确切内容?否则,如果这种类型的查询是错误的行为,我该如何解决?

UPD,也尝试了getValue(),getRow()和所有在官方文档方法中描述的,只有ExecuteS()返回一些东西,其他 - 返回bool(),这些都不是我想要的答案。 提前致谢

1 个答案:

答案 0 :(得分:0)

您尝试过吗:

$id_order = Db::getInstance()->executeS('SELECT id_order AS id_order FROM '._DB_PREFIX_.'orders WHERE id_cart = '.$id_cart, false, false);

return $id_order['id_order'];