我有一个查询,当它从文件调用数组数据时不返回任何内容,但如果我将数组声明为内联,则可以正常工作。
这里有什么不起作用:
<?php
$firstnames = file("firstnames.txt");
$lastnames = file("lastnames.txt");
for ($i = 0; $i < count($firstnames); $i++) {
$stmt1 = $db->prepare("SELECT P_ID FROM personal WHERE personal.FirstName=:firstname AND personal.LastName=:lastname");
$stmt1->bindParam(':firstname', $firstnames[$i], PDO::PARAM_STR);
$stmt1->bindParam(':lastname', $lastnames[$i], PDO::PARAM_STR);
$stmt1->execute();
$row = $stmt1->fetch(PDO::FETCH_ASSOC);
if ($row) {
foreach ($row as $key) {
$PIDs[] = $key;
}
}
}
?>
但如果我将上面的前两行替换为,则可行:
$firstnames = array("Michaela","Noeleen","Anton","Gerard","Gerard","Billy");
$lastnames = array("Daly","O'Brien","Vidal","Boyle","Espital","Mason");
我可以将$firstnames
和$lastnames
文件内容输出到屏幕,因此文件数据可供脚本中的查询使用。什么想法可能是错的?
文件数据如下,firstnames.txt:
Philip
Anne
Derek
Fíona
Katelyn
Margaret
姓氏相同的格式。没有逗号。