Php 将输入从textfield添加到数据库
我尝试使用php脚本将文本文件中的数据添加到我的数据库中,以下是脚本:Php 将输入从textfield添加到数据库,php,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,
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添加到数据库中一样。若我并没有在文本文件中做任何更改,我希望它再次控制,若那个用户存在,不要添加它,谢谢大家
if($row['name']==$name && $row['surname']==$surname || $row['age']==$age)
^ ^
这里应该有一个括号
if(($row['name']==$name && $row['surname']==$surname) || $row['age']==$age)
要进一步调试,请尝试var_dump$bolunmus 我希望您为我的名字“PeeHaa”或1=1-Header:Injection\r\n alert'yay!”的人做好了准备;或者PeeHaa von Lichtensteinth该括号也是一个错误,但问题仍然存在: