如何将所有字符的输出保存到MYSQL数据库中?

问题描述 投票:0回答:0

我有一个 .PHP 脚本,它正在将 .TXT 文件的内容推送到 MySQL 数据库中。

这是脚本:

$dsn = 'mysql:dbname=admin_cars;host=127.0.0.1';
$user = 'admin_cars';
$password = '';

try {
    $dbh = new PDO($dsn, $user, $password);
} catch (PDOException $e) {
    echo 'Connection failed: ' . $e->getMessage();
}

$file_audi= new SplFileObject('/home/admin/web/audi/index.txt');
while(!$file_audi->eof())
{
 $line=$file_audi->fgets();
    list($audi)=explode(';',$line);
}


$file_bmw= new SplFileObject('/home/admin/web/bmw/index.txt');
while(!$file_bmw->eof())
{
 $line=$file_bmw->fgets();
    list($bmw)=explode(';',$line);
}


$file_mercedes= new SplFileObject('/home/admin/web/mercedes/index.txt');
while(!$file_mercedes->eof())
{
 $line=$file_mercedes->fgets();
    list($mercedes)=explode(';',$line);
}


{
    $sth = $dbh->prepare('INSERT INTO allcars values(NULL,?,?,?)');
    $sth->bindValue(1,$audi,PDO::PARAM_STR);
    $sth->bindValue(2,$bmw,PDO::PARAM_STR);
    $sth->bindValue(3,$mercedes,PDO::PARAM_STR);
    $sth->execute();
}

这是 index.txt 的内容: Sed ut perspiciatis unde omnis iste natus error sit voluptatem; accusantium doloremque laudantium

脚本成功将.txt 文件中的文本导入数据库。像这样: Sed ut perspiciatis unde omnis iste natus error sit voluptatem

但不是你所看到的完整的整行。 它停在:voluptatem 因为特殊字符 ->; 我认为。

如何将完整的行导入数据库?像这样: Sed ut perspiciatis unde omnis iste natus error sit voluptatem; accusantium doloremque laudantium

我试过这个:

  /* change character set to utf8 */
  if (!$mysqli->set_charset("utf8")) {
      printf("Error loading character set utf8: %s\n", $mysqli->error);
  } else {
      printf("Current character set: %s\n", $mysqli->character_set_name());
  }

但是没有结果

希望有人能帮帮我!

感谢您的宝贵时间!

php mysql phpmyadmin
© www.soinside.com 2019 - 2024. All rights reserved.