Как я могу сохранить значения с арифметическими операторами в MySQL с PHP?

У меня есть тип данных поля VARCHAR в MySQL.
Он должен сохранять данные как 495/1,495/2 но когда я запускаю запрос из PHP, он сохраняет в MySQL, как 495, 247.5, поэтому в основном mysql делит значения.

Тогда я попробовал это

$sfno = $_POST['sfno']; // i am getting value from HTML form the value is 495/2
$sfno = explode("/",$sfno);
$sfnom = "$sfno[0]"."-"."$sfno[1]";

затем mysql вычтите значения и сохраните их как 494,493

так как я могу сохранить арифметические операторы в базе данных MySQL?

введите описание изображения здесь

-2

Решение

Вам нужно поместить переменную между кавычками в строке запроса, чтобы предотвратить вычисление.

$sfnom = "$sfno[0]"."-"."$sfno[1]";

Становится (обратите внимание на одинарные кавычки внутри строки):

$sfnom = "'$sfno[0]"."-"."$sfno[1]'";

Вам также нужно декодировать его по URL (% 2f /иначе он будет содержать 2f вместо /):

$sfnom = urldecode("'$sfno[0]"."-"."$sfno[1]'");

Так INSERT INTO sfarea(sfareaid,sfno,sftotarea,sfsoldarea) values(2003,495/2,9854,0) будет выглядеть так:

 INSERT INTO sfarea(sfareaid,sfno,sftotarea,sfsoldarea) values(2003,'495/2',9854,0)

Единственный способ хранить арифметические операторы — это строка, поэтому вам нужно заключить ее в кавычки.

1

Другие решения

Других решений пока нет …