我有一个查询从名称中获取ID号:
Index Vel Dir
2016-07-12 18:00:00 8.0 55
2016-07-12 21:00:00 16.0 67
2016-07-13 00:00:00 NAN NAN
2016-07-13 03:00:00 19.0 83
... ...
... ...
2017-02-28 21:00:00 NAN NAN
但这些名字是通过电子表格发送给我的,所以我需要根据数据库中实际的内容来检查它们。
我导入名称:
$stmt1 = $db->prepare("
SELECT P_ID
FROM personal
WHERE personal.FirstName=:firstname
AND personal.LastName=:lastname
");
我这样检查:
$firstnames = file("firstnames.txt");
$lastnames = file("lastnames.txt");
如果姓氏不正确,则会标记相应的FIRST名称。 同样,如果第一个名称不正确,则相应的LAST名称也会被标记。
此处的示例输入数据:
// Identify incorrect last names
if ($stmt1->rowCount() > 0) {
$check = $stmt1->fetch(PDO::FETCH_ASSOC);
$row = $check['lastname'];
// Nothing to do if last name already exists
}
else {
echo "The name ".$lastnames[$i]." is not in the DB.";
}
// Identify incorrect first names
if ($stmt1->rowCount() > 0) {
$check = $stmt1->fetch(PDO::FETCH_ASSOC);
$row = $check['firstname'];
// Nothing to do if first name already exists
}
else
{
echo "The name ".$firstnames[$i]." is not in the DB.";
}
让我们说实际上" Azanar"在DB中。我收到消息说“阿斯纳尔不在DB' 和'保罗不在DB'。鉴于" Paul"实际上是正确的,所以不应该被标记。
答案 0 :(得分:0)
您应该更改准备好的陈述。您正在查询第一个和最后一个名称与您提供的名称匹配的记录。我认为最简单的是有两个查询,第一个检查名字,第二个检查姓氏。