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;
}
返回下一个(在var_dump()中):
object(PDOStatement)#25(1){[“ queryString”] =>字符串(51)“从ps_orders中选择id_order,其中id_cart = 4769”}
而不是整数,例如42。
此外,直接对数据库执行精确查询会返回必要的整数。
我有点不确定这种查询的正确答案是否出了问题?如果查询正确,那么如何才能准确获取我要查询的数据库?否则,如果这种查询的行为不正确,该如何解决?
UPD还尝试了getValue(),getRow()以及所有在正式docs方法中描述的方法,只有ExecuteS()返回某些内容,其他-返回bool(),这些都不是我想要的答案。
提前致谢
最佳答案
你有没有尝试过:
$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'];
关于mysql - prestashop 1.6 | db::getInstance()-> executeS返回SQL查询字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49191699/