将文本字段中的输入添加到数据库

时间:2013-12-28 14:28:41

标签: php

我尝试使用php脚本将从文本文件中获取的数据添加到我的数据库,这是脚本:     

foreach($lines as $name){ 

    $bolunmus=explode(" ", $name);
        $add = false;
        if(!exist_in_db($bolunmus[0], $bolunmus[1], $bolunmus[2])){
        $add = mysql_query("
        INSERT INTO people(name, surname, age)
        VALUES('$bolunmus[0]', '$bolunmus[1]', '$bolunmus[2]');", $con);
        }
        else{
        echo (" could not write it.<br>");
    }
        if($add)
        echo $bolunmus[0]." ".$bolunmus[1]." ".$bolunmus[2]." Added to database.";

}
// this is my control function, which will return
// true if data already exist in database,
// else it will return false.
function exist_in_db($name, $surname, $age){
    $result = mysql_query("
    SELECT * FROM people ORDER BY id
    ");
        while($row = mysql_fetch_array($result)){
            if($row['name']==$name && $row['surname']==$surname || $row['age']==$age){
            echo $row."could not write it.";
        return true;
        }else{
        return false;
        }
        }
}
?>

实际上,问题是当我尝试执行此脚本时,它从textfile读取,如果该用户不存在,则添加,直到此处没有任何问题。但是当我再次尝试执行它时,它会为用户添加相同的输出,例如“bla bla 0被添加到数据库中”。如果我没有对文本文件进行任何更改,我希望它再次控制,如果该用户存在,请不要添加它,谢谢大家。

1 个答案:

答案 0 :(得分:0)

if($row['name']==$name && $row['surname']==$surname || $row['age']==$age)
  ^                                                ^

这里应该有一个括号。

if(($row['name']==$name && $row['surname']==$surname) || $row['age']==$age)

要进一步调试,请尝试var_dump($bolunmus);