【发布时间】:2020-05-24 23:13:41
【问题描述】:
我的查询有问题,它在 SQL Server 中运行良好,但是当我尝试在 PHP 中返回该行时,它返回时没有任何结果。请参阅下面的代码,问题与此字段有关 SO_SalesOrderHistoryDetail.ItemCodeDesc 此字段听起来就像是项目描述,并且在此特定记录中包含此数据。 ACC、Smart-Trek™ 豪华立体声
我已经确认这是问题™ 出于某种原因该字段不会在 PHP 中显示。我可以编辑数据,尽管我想保留该选项以备不时之需。我不确定为什么这些特定数据会阻止返回所有信息。我没有收到 PHP 错误。非常欢迎任何帮助。
$tsql = "
SELECT
SO_SalesOrderHistoryHeader.CustomerNo,
SO_SalesOrderHistoryHeader.CustomerPONo,
SO_SalesOrderHistoryDetail.SalesOrderNo,
SO_SalesOrderHistoryDetail.CancelledLine,
SO_SalesOrderHistoryDetail.ItemCode,
SO_SalesOrderHistoryDetail.ItemCodeDesc,
SO_SalesOrderHistoryDetail.QuantityBackordered,
SO_SalesOrderHistoryDetail.QuantityOrderedRevised,
SO_SalesOrderHistoryDetail.PurchaseOrderNo,
SO_SalesOrderHistoryDetail.QuantityShipped,
SO_SalesOrderHistoryHeader.OrderStatus,
SO_SalesOrderHistoryHeader.OrderDate,
SO_SalesOrderHistoryHeader.CustomerPONo
FROM SO_SalesOrderHistoryDetail
INNER JOIN SO_SalesOrderHistoryHeader ON
SO_SalesOrderHistoryDetail.SalesOrderNo = SO_SalesOrderHistoryHeader.SalesOrderNo
WHERE
(SO_SalesOrderHistoryHeader.CustomerNo = 'XXXXXXX') AND
(SO_SalesOrderHistoryHeader.OrderStatus <> 'X') AND
(SO_SalesOrderHistoryDetail.CancelledLine = 'N') AND
(SO_SalesOrderHistoryHeader.CustomerPONo = 'XXXXXXX')
";
$getResults= sqlsrv_query($connms, $tsql);
$row = sqlsrv_fetch_array($getResults);
【问题讨论】:
-
查看是否实际存储为
&trade;或™。你是什么意思“由于某种原因这个字段不会在PHP中显示”它只是不显示™? -
不,我应该什么都不说,它返回了。根本没有记录。
-
我如何找到这个?查看它是否实际存储为 ™或™。
-
您的问题和查询似乎彼此无关。您的查询中没有任何内容在寻找 ™ 字符,这意味着查询没有返回任何结果,因为在
WHERE中没有返回 true。如果WHERE不正确,那么其中一个无关紧要其他列中有™;这是完全不真实的。 -
几种方式。通过
SELECT ItemCodeDesc FROM SO_SalesOrderHistoryDetail WHERE id = 100等其他条件选择您知道有 TM 的行,回显它并查看网页的源代码。
标签: php sql-server ubuntu sqlsrv