繁体   English   中英

遍历 PHP 中的数组 while 循环

[英]Iterating through an array in PHP while loop

我正在尝试按照以下代码段将多个图像保存到一个位置。 我想根据搜索查询命名图像(示例中的 4 个产品代码),但是Trying to access array offset on value of type bool错误。 我认为这是因为搜索查询正在抛出一组数据,我不确定如何调整 while 循环以遍历每一行数据以动态命名图像。

这是我尝试过的。 如果有人可以提供帮助,将不胜感激。

$sql = "SELECT 
         Picture 
        ,ParentId 
        ,P.Code as 'ProductCode'
       FROM dbo.IWS_Stock_Images img
       LEFT OUTER JOIN ic.Product P on P.ProductId=img.ParentId
       WHERE P.Code IN('GAI4030','GAI4037A', 'GAI1008', 'GAI4990')";

$stmt = sqlsrv_query($conn, $sql);
if ($stmt === false) {
    echo "Error (sqlsrv_query): ".print_r(sqlsrv_errors(), true);
    exit;
} else {

$A = 1;

while ($row=sqlsrv_fetch($stmt)) {
     $idd = $row['ProductCode'];
     $image = sqlsrv_get_field($stmt, 0, SQLSRV_PHPTYPE_STREAM(SQLSRV_ENC_BINARY));
    file_put_contents($idd.'.jpg', $image);
    $A++;
        
 }
}

根据sqlsrv_get_field的文档,“必须按顺序访问字段。即如果您访问字段索引 1,则字段索引 0 将不可用。” 您可能无法将这种类型的访问与您在上一行中使用的数组样式访问混合和匹配。 至少,此访问权限是您要做的第一件事。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM