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

Php 将十进制数存储到MySQL数据库中,php,jquery,mysql,ajax,phpmyadmin,Php,Jquery,Mysql,Ajax,Phpmyadmin,下面是AJAX的返回,它显示了我试图存储到数据库中的值: 以下是实际存储到数据库中的内容(58.00是我存储的内容): 以下是表格的结构: 以下是PHP: $req = $bdd->prepare("INSERT INTO salon_histo(reference, designation, colour, size, type, price, qty, payment, date) VALUES(:reference, :designation, :colour, :size,

下面是AJAX的返回,它显示了我试图存储到数据库中的值:

以下是实际存储到数据库中的内容(58.00是我存储的内容):

以下是表格的结构:

以下是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

Price似乎是一个数组:

'price' => floatval($price[0]),
小数部分可能有键1

'price' => (float) ($price[0] . '.' . $price[1]), 
如果这不起作用,请
var\u dump($price)
并将结果粘贴给我


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

Price似乎是一个数组:

'price' => floatval($price[0]),
小数部分可能有键1

'price' => (float) ($price[0] . '.' . $price[1]), 
如果这不起作用,请
var\u dump($price)
并将结果粘贴给我


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

请不要使用屏幕截图。复制粘贴文本数据和标记为代码或引号。对于MySQL,可能重复的数字通常格式为
XX.XX
,而不是
XX,XX
。在将数字插入MySQL之前,请将其从逗号转换为句点。我猜您的价格是EU格式的
x,xx
而不是PHP/MySQL/任何十进制格式
x.xx
,因此当您
floatval()
it时,它会删除逗号后面的所有内容(包括逗号);你可能想看看这个类,或者你的问题是“逗号”。Mysql使用句点作为小数点分隔符。请不要使用屏幕截图。复制粘贴文本数据和标记为代码或引号。对于MySQL,可能重复的数字通常格式为
XX.XX
,而不是
XX,XX
。在将数字插入MySQL之前,请将其从逗号转换为句点。我猜您的价格是EU格式的
x,xx
而不是PHP/MySQL/任何十进制格式
x.xx
,因此当您
floatval()
it时,它会删除逗号后面的所有内容(包括逗号);你可能想看看这个类,或者你的问题是“逗号”。Mysql使用句号作为小数点分隔符。问题确实是昏迷。我用str_replace将“,”替换为“.”。数据被正确地存储。谢谢你的帮助。屏幕截图,因为我无法显示数据是如何存储到数据库中的。没有问题,请将此标记为正确答案。问题确实是昏迷。我用str_replace将“,”替换为“.”。数据被正确地存储。谢谢你的帮助。屏幕截图,因为我无法显示数据是如何存储到数据库中的。没有问题,请将此标记为正确答案?