Я импортировал CSV в таблицу, используя php, но столкнулся с проблемой? - PullRequest
0 голосов
/ 03 апреля 2020

Я сталкиваюсь с этой проблемой в файле Excel, значение составляет 1,93E + 11, и оно не преобразуется в 193000000000 при импорте таблицы CSV в MYSQL. Его значение остается таким же, как 1.93E + 11

Как я могу сделать это, чтобы преобразовать его, мой код

  if ($_FILES["file"]["size"] > 0) {

    $file = fopen($fileName, "r");

    while (($column = fgetcsv($file, 58000, ",")) !== FALSE) {
            $sqlInsert = "INSERT into excel ()
               values ('" . $column[0] . "','" . $column[1] . "')";
        $result = mysqli_query($conn, $sqlInsert);

        if (! empty($result)) {
            $type = "success";
            $message = "CSV Data Imported into the Database";

1 Ответ

0 голосов
/ 03 апреля 2020

Вы можете привести его к типу с плавающей точкой:

$value = (float) $column[1];

Чтобы быть уверенным, что у вас действительно есть число с плавающей запятой, вы можете попробовать проверить вот так

if (is_numeric($column[1]) && !is_int($column[1])) {
    $value = (float) $column[1];
}
...