gpt4 book ai didi

mysql - RedBean PHP 信用卡号问题

转载 作者:行者123 更新时间:2023-11-29 01:58:04 26 4
gpt4 key购买 nike

我最近开始使用 Redbean PHP。所以我不太了解它是如何处理事情的。直到现在,我都喜欢它为我做东西是多么简单。但是我今天遇到了一个很大的问题。我需要将信用卡号存储到表中。但是一旦我存储了这个 bean,卡号就会变成一个浮点(十进制)类型的值。

“1234123412341234”被存储为“1.234123412341234e15”

数据类型是由redbean 创建的'double',但我给出了一个字符串。这对我来说有点奇怪,我不是 SQL 或 PHP 方面的专家。有没有办法覆盖 redbean 如何创建表。所以有人请帮助我。我在这里错过了什么吗?下面是我对应的代码,使用的框架是Codeigniter

数据变量

$data = array(
'card_name' => 'Shiva Kumar Avula',
'card_no' => '1234123412341234',
'card_issuer' => 'Visa',
'card_cvv' => '123',
'card_exp_month' => 12,
'card_exp_year' => 2020
);

$card = $this->card_model->create_card($data, TRUE); // Making it primary

模型函数

public function create_card($data, $is_primary = FALSE)
{
$card = R::dispense('card');

$card->name = $data['card_name'];
$card->number = $data['card_no'];
$card->issuer = $data['card_issuer'];
$card->cvv = $data['card_cvv'];
$card->exp_month = $data['card_exp_month'];
$card->exp_year = $data['card_exp_year'];
$card->is_primary = $is_primary;
$card->is_verified = 0;
$card->ts_created = $this->ts_sql;
$card->ts_modified = $this->ts_sql;

$id = R::store($card);
}

我在 phpmyadmin 中的输出快照, enter image description here

显示数据类型的快照, enter image description here

最佳答案

您可以将 number 的 beans 元属性设置为 string

$card->setMeta("cast.number", "string"); 

这会将 $card->number 的任何值保存为 varchar。
参见 RedBean Internals获取更多信息。

关于mysql - RedBean PHP 信用卡号问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22662719/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com