0

我在一个表中有两列(MYSQL 数据库)

一列包含别名,另一列包含真实姓名

Coln1:The_Spiderman coln2:-Peter,J,Parker

** 注意:第 1 列实际上是文件名。因此,它不能包含特殊字符。但是,Coln2 可以包含逗号

我有一个 csv 文件,其中包含一组实际存在于所述表的 Col1 中的值。它们可以包含空格、下划线。

我的计划是执行以下操作:

a) 从 csv 文件中读取每个值 b) 使用该值在 mysql 表上查找并获取真实姓名 c) 将真实姓名写入同一个 csv 文件

我在 php 方面有一些经验,但我无法将所有这些放在一起。

有人能帮我吗?

谢谢腰带

**ANSWER:**

感谢@briosheje 的提示这是我想出的:-

<?php
$row = 1;
if (($handle = fopen("group.txt", "r")) !== FALSE) 
{
    while (($data = fgetcsv($handle, 2000, ",")) !== FALSE)
    {
        $num = count($data);
        $row++;
        $link = mysqli_connect("localhost","user","pwd","dbname");

        for ($c=0; $c < $num; $c++) 

        {

            $query = "SELECT name FROM table where alias = '" . $data[$c] .  "'";
            $result = $link->query($query) OR die("Error in the consult.." . mysqli_error($link));

                while($row = mysqli_fetch_array($result)) 
                {

                    $fp = fopen('output.txt', 'a');
                    fwrite($fp, $row["name"].PHP_EOL);
                }


       }
    fclose ($fp);
    }
}

fclose ($handle);
4

2 回答 2

0

要从 CSV 中检索数据,请使用fgetcsv

它将返回一个数组,其中包含 CSV 中包含的数据。

要详细说明数据,请使用您的 SQL 查询进行您想要的比较(当然,在连接到数据库之后,我假设您知道该怎么做)。

如果您不知道如何使用 PHP 查询数据库,请勾选此项。

查询数据库并进行比较后,假设在您的 CSV 文件中不会有任何重复,将 fgetcsv 返回的数组的值替换为您需要的值,然后使用fputcsv完成工作。

希望这能给你这个想法!

于 2013-09-09T07:22:06.657 回答
0

如果您试图通过 PHP 提取 mysql 记录。然后你必须遵循 5 个简单的步骤。

  1. 连接数据库
  2. 选择数据库
  3. 执行数据库查询
  4. 使用返回的数据。最后

5.关闭连接。

步骤 1,2 和 5 处处相同。IT th 3 和 4th 真正改变了页面并使用它可以提取值。

示例 - >

include('config.php'); // Your database config


 if (isset($_GET['id'])) { 

  $q = mysql_query("SELECT * FROM $login_db_table WHERE id='" .                                mysql_real_escape_string($_GET['id']) . "'") or die('Database error.');
  $user = mysql_fetch_array($q, MYSQL_ASSOC); 

?> 
<h1><?= $user['username'] ?></h1> 
于 2013-09-09T07:23:55.960 回答