我通过PHP查询MySQL数据库。 我从文件中读取输入。然后遍历输入以查询数据库以检索每个输入的3个属性。
数据库连接正常。否则所有查询都运行正常。
发生的事情是所有查询,但最后一个查询mysql_num_rows($result) = 0
。只有最后一个打印出正确的结果。
我无法弄清楚原因。什么可能是错的?
$fh = fopen($my_File, 'r');
$arr = explode("\n", fread($fh, filesize($my_File)));
fclose($fh);
foreach ($arr as $line) {
if ($line != "\n" || $line != "" || $line != NULL) {
$query = "SELECT id, name, status FROM table1 WHERE id='$line'";
$result = mysql_query($query);
if (!$result) {
die('Invalid query: ' . mysql_error());
}
$num = mysql_num_rows($result);
if ($num == 0) {
echo "NULL Set<br/>";
} else {
echo "RESULT Set<br/>";
}
}
答案 0 :(得分:0)
文件中的行是否可能被“\ r \ n”而不是“\ n”终止?如果是这样,你将在$ arr的每个元素的末尾添加一个额外的“\ r”(除了最后一个)。
尝试添加
$line = trim($line);
在你的foreach循环开始时,看看它是否有所作为。
更好的是,使用fgets代替fread。