Сохранить десятичное число в базе данных MySQL - PullRequest
0 голосов
/ 11 июня 2018

Вот возврат 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]);

Как MySQL может хранить данные с двумя десятичными знаками в 0, когда я пытаюсь сохранить 58,33?Я пытался в PHP использовать floatval, и в действительности число становится 58.

1 Ответ

0 голосов
/ 11 июня 2018

Цена представляется массивом:

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

Возможно, десятичная часть имеет ключ 1?

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

Если это не сработает, пожалуйста, var_dump($price) и вставьте менярезультат.

Другая вещь, которую нужно проверить, является ли PHP форматированием этих чисел запятой или нет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...