Это довольно простой вопрос, если честно. Я искал какое-то время в Google для решения, но ничего не работает. У меня есть следующие поля в моей базе данных:Вставка PHP float/decimal значений в MySQL
decimal(2,1)
У меня есть две переменные в PHP (которые поступают от значений, вставленных в форму через POST) Я хочу, чтобы сложить вместе, а затем вставить в это поле.
$sql2 = $link->prepare("INSERT INTO league_stats (match_id, rating)
VALUES (?, ?)");
$sql->bind_param("ii", $match_id, $rating);
$match_id = $_SESSION["match_id"];
$rtg1 = $_POST[$rating_1"];
$rtg2 = $_POST[$rating_2"]/10;
$rating = $rtg1 + $rtg2;
Например, rtg1 будет и rtg2 будет 3 делится на 10, так что выходит как 0,3. Затем я добавляю эти два числа вместе, чтобы сделать 7.3. Когда я перехожу, чтобы вставить его в базу данных, он всегда отображает вторую цифру как 0. Таким образом, вместо 7.3 это получится как 7.0. Я пробовал много разных методов, но всегда получаю тот же результат.
Я даже назначен $ рейтинг исходного значения просто проверить, если что-то не так с моими переменными:
$rating = 7.5
Тем не менее выходит как 7.0.
Может ли кто-нибудь указать пример правильной вставки PHP-переменной типа float в MySQL? А также, может быть, объясните, как правильно добавить два значения float? Благодаря!
убедитесь, что тип данных в MySQL для этого поля всплывают –
вы рассказываете свою библиотеку DB вы вставив Int. Поэтому, если вы переходите в '7.5', библиотека db была TOLD, она должна быть усечена до' 7', потому что она должна быть int. –
Я не понимаю, вы привязываетесь перед заданными значениями: $ sql-> bind_param ("ii", $ match_id, $ rating) ;, $ match_id = $ _SESSION ["match_id"]; $ rtg1 = $ _POST [$ rating_1 "]; $ rtg2 = $ _POST [$ rating_2"]/10; $ rating = $ rtg1 + $ rtg2; – jacouh