只是解析一个文件并构建一个查询,但$row
只返回一个结果,我所做的每个查询的结果是hold get A result。
while (!feof($f)) {
$contents = '';
$contents = fgets($f);
$p = explode(" ", $contents);
$req = "SELECT id_product from ps_product WHERE `reference`='".$p[1]."'";
$rs = $dbh->prepare($req);
$rs->execute();
$row = $rs->fetch();
print_r($row);
}
我最后只得到一个结果
我的调试是这样的:
M0852
PDOStatement Object ( [queryString] => SELECT id_product from ps_product WHERE `reference`='M0852 ' )
M0850
PDOStatement Object ( [queryString] => SELECT id_product from ps_product WHERE `reference`='M0850 ' )
M0850
PDOStatement Object ( [queryString] => SELECT id_product from ps_product WHERE `reference`='M0850 ' )
M0851
PDOStatement Object ( [queryString] => SELECT id_product from ps_product WHERE `reference`='M0851 ' )
M0851
PDOStatement Object ( [queryString] => SELECT id_product from ps_product WHERE `reference`='M0851 ' )
M0855
PDOStatement Object ( [queryString] => SELECT id_product from ps_product WHERE `reference`='M0855 ' )
M0849
PDOStatement Object ( [queryString] => SELECT id_product from ps_product WHERE `reference`='M0849 ' )
数组([id_product] => 2662 [0] => 2662)
当我期望获得一个带有每个查询结果的数组时。
只有文件中的最后一行末尾没有 LF 字符。
使用 trim() 将其剥离
$req = "SELECT id_product from ps_product WHERE `reference`=?";
$rs = $dbh->prepare($req);
while (!feof($f)) {
$contents = trim(fgets($f));
$p = explode(" ", $contents);
$rs->execute([$p[1]]);
$row = $rs->fetch();
print_r($row);
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句