Safe MySQL заменяет FLOAT на INT - PullRequest
0 голосов
/ 23 марта 2020

Мне нужно вставить число с плавающей запятой в мою таблицу. Я использую Safe MySQL, поэтому мне нужно использовать? S в своем запросе, чтобы ввести число FLOAT. Что я пробовал:

$db -> query("INSERT INTO tablename(`certs`) VALUES(?s)", 4.123); // inserts 4
$db -> query("INSERT INTO tablename(`certs`) VALUES(?s)", floatval(4.123)); // inserts 4
$db -> query("INSERT INTO tablename(`certs`) VALUES(?s)", (string)4.123); // inserts 4

$db -> query("INSERT INTO tablename(`certs`) VALUES(?s)", '4.123'); // inserts 4.123
$db -> query("INSERT INTO tablename(`certs`) VALUES(4.123)"); // inserts 4.123

Это происходит и со всеми другими таблицами. Таким образом, чтобы вставить FLOAT с помощью Safe MySQL, мне нужно преобразовать мой float в строку или вставить простое значение в запросе (которое выглядит точно так же, как для Safe MySQL). Это кажется абсолютно нелепым, и я не могу найти какую-либо информацию в Интернете.

Я просто хочу вставить номер FLOAT, я что-то упустил? Что здесь не так? xD

Спасибо!

1 Ответ

0 голосов
/ 24 марта 2020

@ El_Vanja рекомендуется не использовать Safe MySQL и переключаться на подготовленные заявления или PDO , что я и сделал.

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