PrestaShop,插入数据库时获取ID
PrestaShop, get ID when insert in DB
我正在为 PrestaShop 1.6 创建一个脚本,用于将数据插入 table。
我的table是这样制作的:
- id: int 自动递增
- desc: 字符串
当我输入描述时,我会取回 ID 值。
无法使用标准,因为它被 PrestaShop 阻止了。
我发现这是一种情况:
$sql = "INSERT INTO `"._DB_PREFIX_."table`(`desc`) VALUES ('".$this->desc."')";
$restpo = Db::getInstance()->execute($sql);
var_dump($restpo);
但我的答案只有一个布尔值。
你能推荐点什么吗?
执行 SQL 后使用 $id = Db::getInstance()->Insert_ID();
。
您可以使用:
$id = (int)Db::getInstance()->Insert_ID();
例如,在购物车中 class:
$last_id = (int)Db::getInstance()->Insert_ID();
我还推荐使用函数插入,例如在 Carrier class:
$values = array();
foreach ($shops as $id_shop) {
$values[] = array(
'id_carrier' => (int)$this->id,
'id_tax_rules_group' => (int)$id_tax_rules_group,
'id_shop' => (int)$id_shop,
);
}
$res = Db::getInstance()->insert('carrier_tax_rules_group_shop', $values);
然后用Insert_ID得到最后一个
PrestaShop 的 DB
class 通过
提供 last inserted id
Db::getInstance()->Insert_ID();
方法。
我正在为 PrestaShop 1.6 创建一个脚本,用于将数据插入 table。 我的table是这样制作的:
- id: int 自动递增
- desc: 字符串
当我输入描述时,我会取回 ID 值。
无法使用标准,因为它被 PrestaShop 阻止了。
我发现这是一种情况:
$sql = "INSERT INTO `"._DB_PREFIX_."table`(`desc`) VALUES ('".$this->desc."')";
$restpo = Db::getInstance()->execute($sql);
var_dump($restpo);
但我的答案只有一个布尔值。 你能推荐点什么吗?
执行 SQL 后使用 $id = Db::getInstance()->Insert_ID();
。
您可以使用:
$id = (int)Db::getInstance()->Insert_ID();
例如,在购物车中 class:
$last_id = (int)Db::getInstance()->Insert_ID();
我还推荐使用函数插入,例如在 Carrier class:
$values = array();
foreach ($shops as $id_shop) {
$values[] = array(
'id_carrier' => (int)$this->id,
'id_tax_rules_group' => (int)$id_tax_rules_group,
'id_shop' => (int)$id_shop,
);
}
$res = Db::getInstance()->insert('carrier_tax_rules_group_shop', $values);
然后用Insert_ID得到最后一个
PrestaShop 的 DB
class 通过
Db::getInstance()->Insert_ID();
方法。