Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/233.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP引号和双引号不会显示数据_Php_Sql Server - Fatal编程技术网

PHP引号和双引号不会显示数据

PHP引号和双引号不会显示数据,php,sql-server,Php,Sql Server,我试图从MSSQL中用PHP显示一个文本字段,我读了很多东西,但什么都不起作用,select语句在MSSQL中起作用,但当我把它放在PHP中时,它会破坏PHP代码,页面不会显示。 这是我的问题,我在mssql中有一个描述字段,它将输出这样的数据 30" x 60" D/S Banner 或 或 所以当我显示一系列作业时 工单编号、数量和日期显示良好,但说明不会显示任何内容 所以我试着用 replace( replace( convert(varchar(max), Description),

我试图从MSSQL中用PHP显示一个文本字段,我读了很多东西,但什么都不起作用,select语句在MSSQL中起作用,但当我把它放在PHP中时,它会破坏PHP代码,页面不会显示。
这是我的问题,我在mssql中有一个描述字段,它将输出这样的数据

30" x 60" D/S Banner

所以当我显示一系列作业时 工单编号、数量和日期显示良好,但说明不会显示任何内容 所以我试着用

replace( replace( convert(varchar(max), Description), '"', ''), '''', '') as Description
但这破坏了我的PHP页面,没有显示任何内容,但在我的MSSQL qry中运行良好。 我从PHP方面尝试过使用str_replace,但没有效果。如有任何意见,将不胜感激

我的PHP sql语句

$qry = odbc_exec($connection, "SELECT A.CompanyName, TH.OrderNumber, TD.ID AS PartNumber, TD.Description, TD.Quantity, TD.LineItemNumber,
TH.AccountID, TH.OrderCreatedDate, TH.SaleDate, TH.DueDate, InternalNotes, ProductionNotesTemplate
From TransHeader TH
    Join TransDetail TD
        ON TH.OrderNumber = TD.TransHeaderTransNumber
    LEFT JOIN Account A
        ON TH.AccountID = A.ID
WHERE  AccountNumber = '$AccountNumber' " );
用PHP显示数组

while(odbc_fetch_array($qry)){

        $OrderNumber        = odbc_result($qry, "OrderNumber");

        $PartNumber         = odbc_result($qry, "PartNumber");

        $QTY            = odbc_result($qry, "Quantity");

        $InternalNotes      = odbc_result($qry, "InternalNotes");
        $Description        = odbc_result($qry, "Description");

        $DueDate        = odbc_result($qry, "DueDate");
        $LineItemNumber     = odbc_result($qry, "LineItemNumber");
        $ProductionNotes    = odbc_result($qry, 'ProductionNotesTemplate')
为什么不使用和使用一个预先准备好的语句来进行查询,完全绕过整个报价转义问题

要了解更多关于使用PDO的逐步过程,请联系您的朋友。在快速浏览了第一页的结果之后,这似乎是最有希望的


希望这有帮助

在您的代码中,没有理由这样做

替换查询因引用而失败:请尝试“here document”语法以简化转义

$sql_code = <<<SQL_CODE
但是前面的错误,即没有替换显示被破坏的事实,没有任何解释,除非该字段包含比引号更奇怪的内容,或者您不只是“输出”它(例如:如果您试图通过生成HTML并将其放入Javascript代码来添加DOM实体,那么是的,引号几乎肯定会打断您的页面,并且可能根本不显示任何内容。即使这仍然不能解释错误)

因此,尝试原始查询,但输出
InternalNotes
,如下所示:

<td><?php print HTMLEntities($InternalNotes); ?></td>


看看这个变量里面到底是什么。

在PHPWhat中显示数组“打断我的PHP页面,什么也不显示”意味着什么?没有任何字符序列会产生这样的效果。这意味着当我在PHP中的sql代码中插入替换时,页面错误会出现HTTP错误500(内部服务器错误):当服务器试图在没有替换代码的情况下完成请求时遇到意外情况,该请求仍将运行,但“说明”字段中不会显示任何内容,但数组$qry=odbc\U exec($connection)中会正确显示所有其他字段,选择A.CompanyName、TH.OrderNumber、TD.ID作为零件号、TD.Description、TD.Quantity、TD.LineItemNumber、TH.AccountID、TH.OrderCreatedDate、TH.SaleDate、TH.DueDate、replace(replace(convert(varchar(max)、InternalNotes)、'、'in'、'ft')作为内部说明,ProductionNotesTemplate From TransHeader TH Join TransDetail TD ON TH.OrderNumber=TD.TransHeaderTransNumber LEFT Join Account A ON TH.AccountID=A.ID,其中AccountNumber=“$AccountNumber”);打开错误报告,你有严重的问题要解决。这可能是我必须要做的事情。看起来很有趣,我对PHP不是很在行,而且我的时间框架可能不适合学习新的东西。但这可能是我去gok的路线。你对MagicQuotes了解很多吗?我也打开了,是吗你知道如果它应该是开的,默认情况下它是关的。我不认为
MagicQuotes
(这是,如果不是不赞成,至少是不鼓励的)与它有任何关系。问题是,你正在以一些“不太兼容”的方式输出这些内容我敢打赌,你不仅仅是在网页上显示好的普通HTML:-)K这是最愚蠢的事情,就像往常一样。我有两个表表a和表b中都有一个描述字段,在我的sql代码中,我只提取了表a中的描述,所以是tablea.Description,但是当我将表a和表b的描述字段都放在sql查询中时,忽略了tableb.Description,它在php中工作,即使只有一个表描述,它也在查询分析器的sql查询中工作。这仍然没有意义,但它现在起作用了谢谢你的反馈
$sql_code = <<<SQL_CODE
$qry = odbc_exec($connection, $sql_code);
<td><?php print HTMLEntities($InternalNotes); ?></td>