Prestashop Db::getInstance()->insert()未显示错误,无法工作
我正在将数据插入数据库。它无法插入。如果我通过原始SQL执行同样的操作,它就会工作。也不会显示任何错误Prestashop Db::getInstance()->insert()未显示错误,无法工作,prestashop,Prestashop,我正在将数据插入数据库。它无法插入。如果我通过原始SQL执行同样的操作,它就会工作。也不会显示任何错误 $products = Context::getContext()->cart->getProducts(); foreach($products as $product){ $id_product = $product['id_product']; $is_allowed = (bool) Db::getInstance()->execute("
$products = Context::getContext()->cart->getProducts();
foreach($products as $product){
$id_product = $product['id_product'];
$is_allowed = (bool) Db::getInstance()->execute("SELECT available_for_order FROM ps_product WHERE id_product=".$id_product); // is product availabe for order when stock is null or zero.
// $sql = 'INSERT INTO `cart_log` (`id_product`,`ids_product_attribute`,`stock`,`reference`,`available_for_order`,`created_at`)
// VALUES (' . $id_product. ', ' . $product['id_product_attribute'] . ',' . $product['stock_quantity'] . ', ' . $product['reference'] .','. $is_allowed .', NOW())';
// die($sql);
$data= array(
'id_product' => (string) $id_product,
'ids_product_attribute' =>(string) $product['id_product_attribute'],
'stock' =>(string) $product['stock_quantity'],
'reference' =>(string) $product['reference'],
'available_for_order' =>(int) $is_allowed,
'created_at' => 'NOW())'
);
echo "<pre>";
print_r($data);
echo "</pre>";
$result= Db::getInstance()->insert('cart_log',$data);
}
尝试替换:
$is_allowed = (bool) Db::getInstance()->getValue("SELECT available_for_order FROM ps_product WHERE id_product=".$id_product); // is product availabe for order when stock is null or zero.
借
如果请求已正确执行,execute将返回true或false,但不会返回请求结果。getValue将返回您请求的结果
还有getRow可以获取同一行的多个元素,执行getRow可以获取多行
关于您可以添加购物车日志表定义吗?您创建的列的类型是什么?您正在传递字符串“NOW”,而不是数组$data中的日期
$is_allowed = (bool) Db::getInstance()->getValue("SELECT available_for_order FROM ps_product WHERE id_product=".$id_product); // is product availabe for order when stock is null or zero.