【发布时间】:2014-03-26 13:37:36
【问题描述】:
我最近开始使用 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 中的输出快照,
显示数据类型的快照,
【问题讨论】:
-
这么长的数字真的是一个字符串。你不会对它做任何数学运算。
-
@JohnConde 这就是问题所在,我可能不是 redbean 将其转换为浮点数。
标签: mysql codeigniter double redbean