欢迎访问宙启技术站
智能推送

php怎么读取txt文件组成SQL并插入数据库

发布时间:2023-05-17 15:28:13

读取txt文件并将其解析为SQL语句并插入到数据库中是很常见的任务。PHP有很多方法可以完成此任务,下面是一些常见的方法。

1. 逐行读取文件

最简单的方法是使用fopen()函数打开文件,并使用fgets()函数逐行读取文件内容。此外,您可以使用explode()函数将每行文本分隔为独立的字段,并使用它们构建SQL语句。以下是一个代码示例:

<?php
$filename = 'sample.txt';
if (file_exists($filename)) {
    $handle = fopen($filename, 'r');
    while (!feof($handle)) {
        $line = fgets($handle);
        $fields = explode(',', $line);
        //构建SQL语句并插入数据库
    }
    fclose($handle);
}
?>

2. 使用file_get_contents函数

另一种方法是使用file_get_contents()函数将整个文件读入内存,并使用explode()函数将其拆分为每个行。在处理每一行时,您可以使用相同的方法构建SQL语句。以下是代码示例:

<?php
$filename = 'sample.txt';
if (file_exists($filename)) {
    $contents = file_get_contents($filename);
    $lines = explode("
", $contents);
    foreach ($lines as $line) {
        $fields = explode(',', $line);
        //构建SQL语句并插入数据库
    }
}
?>

3. 使用PHP的mysqli扩展

构建SQL语句并插入数据库的 方法是使用mysqli扩展。这个扩展提供了一组强大的功能,可以轻松地执行SQL查询。以下是使用mysqli扩展插入记录的示例:

<?php
$filename = 'sample.txt';
if (file_exists($filename)) {
    $mysqli = new mysqli('localhost', 'user', 'password', 'database');
    $handle = fopen($filename, 'r');
    while (!feof($handle)) {
        $line = fgets($handle);
        $fields = explode(',', $line);
        $sql = "INSERT INTO table_name (field1, field2, field3) VALUES ('".$fields[0]."', '".$fields[1]."', '".$fields[2]."')";
        $mysqli->query($sql);
    }
    fclose($handle);
    $mysqli->close();
}
?>

在这个示例中,我们打开文件并使用逐行读取方法处理文件内容。我们将每行文本分隔为字段,然后构建SQL插入语句。最后使用mysqli的query()函数执行SQL语句。注意,插入语句的字段数必须与解析文件中的字段数相匹配。

综上所述,使用以上方法读取txt文件并以SQL语句的形式插入数据库是很容易的。在实际使用中,请根据您的需求选择最适合您的方法。