php 文件中的 Firebird/Interbase SQL 查询

问题描述 投票:0回答:1

我在 PHP 文件中有以下查询,该查询工作正常并返回应有的数据

SELECT
'NZ' AS ORDERORIGIN,
'Assembly' as ORDERTYPE,
ORDERNUMBER,
ITEMDESCRIPTION AS ORDERDESCRIPTION
FROM ASSEMBLYHEADER AH
WHERE AH.ORDERSTATUS IN ('InProgress','Open')

当我添加到查询时,如下所示,

SELECT
    'NZ' AS ORDERORIGIN,
    'Assembly' as ORDERTYPE,
    ORDERNUMBER,
    ITEMDESCRIPTION AS ORDERDESCRIPTION
FROM ASSEMBLYHEADER AH
WHERE AH.ORDERSTATUS IN ('InProgress','Open')
UNION
SELECT
    'NZ' AS ORDERORIGIN,
    'Non-Charge' as ORDERTYPE,
    COSTCENTRECODE AS ORDERNUMBER,
    'NO ORDER DESCRIPTION' AS ORDERDESCRIPTION
FROM COSTCENTREMASTER
WHERE COSTCENTRECODE IN ('STK','ADM','CL','DR','HS','ME','STR','SUP','CAD','STQC','STDR','STOR','L5S','LKA','ECR','GENG','GSALE','TECH','GRAD','GMAR','GWAR','EUS','SUS','ASPP')
ORDER BY 3"

然后我收到错误 “ibase_fetch_assoc(): 第 220 行中的字符串格式错误”。 PHP 文件中的第 220 行是

while ($row = ibase_fetch_assoc($result)) {

当我在其他地方使用相同的查询时,它工作得很好。错误出现在网页上而不是控制台上。

当我查找“格式错误的字符串”时,提到了字符集。在 PHP 的

<Header>
中,我有
<meta charset="utf-8">
。 我尝试将 '' 替换为“无订单描述”,但这不起作用。 扩展 SQL 语句的额外数据如下。没有不寻常的字符。还有什么我应该检查的吗?

NZ  Non-Charge  ADM
NZ  Non-Charge  ASPP
NZ  Non-Charge  CAD
NZ  Non-Charge  CL
NZ  Non-Charge  DR
NZ  Non-Charge  ECR
NZ  Non-Charge  EUS
NZ  Non-Charge  GENG
NZ  Non-Charge  GMAR
NZ  Non-Charge  GRAD
NZ  Non-Charge  GSALE
NZ  Non-Charge  GWAR
NZ  Non-Charge  HS
NZ  Non-Charge  L5S
NZ  Non-Charge  LKA
NZ  Non-Charge  ME
NZ  Non-Charge  STDR
NZ  Non-Charge  STK
NZ  Non-Charge  STOR
NZ  Non-Charge  STQC
NZ  Non-Charge  STR
NZ  Non-Charge  SUP
NZ  Non-Charge  SUS
NZ  Non-Charge  TECH
php firebird
1个回答
0
投票

为了解决这一问题,我创建了 3 个单独的查询并将结果组合起来,然后一次将它们添加到 UL 中。列表整体未排序并不重要。仍然不知道是什么导致了最初的问题,但我有一个解决方案。我很感谢你的回复,马克,这些年来你给了我很多帮助。尤其是在开始时,当您解释如何最好地布局查询代码以使调试更容易时。

© www.soinside.com 2019 - 2024. All rights reserved.