以下是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.
答案 0 :(得分:1)
价格似乎是一个数组:
'price' => floatval($price[0]),
小数部分可能有1号键吗?
'price' => (float) ($price[0] . '.' . $price[1]),
如果不起作用,请var_dump($price)
并粘贴结果。
要检查的另一件事是PHP是否使用逗号格式化这些数字。