将十进制数存储到MySQL数据库中

时间:2018-06-11 15:32:05

标签: php jquery mysql ajax phpmyadmin

以下是AJAX的返回,它显示了我想要存储到数据库中的值:

enter image description here

这是真正存储在数据库中的内容(58.00是我存储的内容):

enter image description here

这是表的结构:

enter image description here

这是PHP:

$req = $bdd->prepare("INSERT INTO salon_histo(reference, designation, colour, size, type, price, qty, payment, date) VALUES(:reference, :designation, :colour, :size, :type, :price, :qty, :payment, NOW())");
    $req->execute(array(
        'reference' => $_POST['reference'],
        'designation' => $_POST['designation'],
        'colour' => $_POST['colour'],
        'size' => $_POST['size'],
        'type' => $_POST['type'],
        'price' => floatval($price[0]),
        'qty' => $_POST['soldQty'],
        'payment' => $_POST['payment']
    ));
    $req->closeCursor();
    echo json_encode($price[0]);

当我试图存储58,33时,MySQL如何在0处存储2位小数的数据?我在PHP中尝试使用floatval,实际上数字变为58.

1 个答案:

答案 0 :(得分:1)

价格似乎是一个数组:

'price' => floatval($price[0]),

小数部分可能有1号键吗?

'price' => (float) ($price[0] . '.' . $price[1]), 

如果不起作用,请var_dump($price)并粘贴结果。

要检查的另一件事是PHP是否使用逗号格式化这些数字。