如何使用php重复执行select查询?

如何使用php重复执行select查询?,php,mysql,Php,Mysql,基本上,我需要的是根据值进行查询​​我正在读的一个文本文件。 这是我的密码 $con = mysqli_connect($host,$name,$pass,$db); $file = fopen($_FILES["file"]["tmp_name"], "r") or die("Unable to open file!"); while(!feof($file)) { $codigo = fgets($file); $result

基本上,我需要的是根据值进行查询​​我正在读的一个文本文件。 这是我的密码

   $con = mysqli_connect($host,$name,$pass,$db);

   $file = fopen($_FILES["file"]["tmp_name"], "r") or die("Unable to open file!");

   while(!feof($file))
   {  
        $codigo = fgets($file);
        $result = mysqli_query($con,"SELECT column FROM table WHERE column='". $codigo."'");
        $row = mysqli_fetch_array($result);
        echo $row;
   }
   fclose($file);
   mysqli_close($con);
但是我不能得到我想要的。我的文本文件中有一些值,但当我执行此操作时,我只得到文本文件最后一个值的查询

有什么建议吗

如果我在while中添加此行:

echo $codigo . "<br>";
echo$codigo。“
”;
文本文件的所有内容都已打印,因此我认为问题出在结果变量中。当我进行查询时,文本文件的所有值都返回空值,最后一个除外。

请重试

print_r($row);

而不是

echo $row;

否则您将始终返回“Array”。

解决方案有些愚蠢,当我逐行读取文件时,PHP也会读取换行符(\n),因此当我进行查询时,where条件从不为真。
一个快速的解决方法是创建一个子字符串。

你做错的是这一行:

$row = mysqli_fetch_array($result);
这就是为什么你只能看到最后的结果。您不断使用新结果覆盖该值。不要重写字符串,而是继续添加到数组中,然后在循环变量转储或打印数组之后

$row[] = mysqli_fetch_array($result);
它还可以帮助您以面向对象的方式使用mysqli,就像它的设计方式一样:

$result = $con->query($query);

文本文件的内容是什么?
while($codigo=fgets($file)){var_dump($codigo);}
。。。这将告诉您从文件中读取的内容。可能您的文本文件重复了相同的数据。文件内容的代码如下:HJ5435 654JLL 54GFDH逐行所有内容都是字符串,这可能是错误吗?谢谢,但我得到的结果相同始终只有一个数据行匹配一个查询?
$result = $con->query($query);