[英]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.