将长名单读入mysql和查询名称

时间:2014-04-11 00:00:58

标签: php mysql sql

我有一个制表符分隔文件,其中包含3000个名字和姓氏

bob   schmuckatelli
jane  doe

然后我也有300万条记录的数据库

id  Fname  Lname   addr          something  
214 jack   frost   444 snow rd   data   data

我很确定最好的方法是使用tmp db来做它,但我的mysql有点生疏。 如何在数据库中找到名称?我想找到它们而不是插入它们。

1 个答案:

答案 0 :(得分:0)

您要做的只是打开文件,然后检查数据库中的每个条目。类似的东西:

$file = fopen('names.txt','r'); //change to whatever name it is
$firstname = ''; $lastname = ''; $index = -1; $id = -1;
$tab = '   '; //change this to the delimiter, of course
while ($line = fgets($file)) {
    $index = strrpos($line, $tab);
    $firstname = substr($line, 0, $index);
    $lastname = substr($line, $index + strlen($tab));
    $id = $sql->query("SELECT id FROM db_name WHERE Fname='" . $firstname . "' AND Lname='" . $lastname . "'");//query the firstname/lastname. Change db_name to whatever and I'm assuming you don't need to sanitize.
    //do something with the id?
}
fclose($file);