php sqlsrv_fetch_数组返回json
任何人都可以帮忙。。如何从TSQL数据库的数据提取中删除\r\n?我正在使用PHP检索数据 http://localhost/model1.php?model=ROLLphp sqlsrv_fetch_数组返回json,php,sql,json,Php,Sql,Json,任何人都可以帮忙。。如何从TSQL数据库的数据提取中删除\r\n?我正在使用PHP检索数据 http://localhost/model1.php?model=ROLL 就像在中提到的切向垂直,也可能像,当我尝试以下代码示例时: <?php // ref: https://stackoverflow.com/q/66576069/1167750 $_GET['model'] = "2 ROLLING HOOPS\r\nAND 2 SETS OF 3\r\nCORRUGATIO
就像在中提到的切向垂直,也可能像,当我尝试以下代码示例时:
<?php
// ref: https://stackoverflow.com/q/66576069/1167750
$_GET['model'] = "2 ROLLING HOOPS\r\nAND 2 SETS OF 3\r\nCORRUGATIONS;";
$model = (isset($_GET['model'])) ? $_GET['model'] : '';
// ref: https://stackoverflow.com/questions/66576069
// /php-sqlsrv-fetch-array-return-to-json#comment117691397_66576069
$model = str_replace("\r\n", " ", $model);
echo "Result:\n";
echo $model;
echo "\n";
?>
如果我在执行str_replace('\r\n','$model)时仅使用单引号代码>我得到以下输出:
Result:
2 ROLLING HOOPS
AND 2 SETS OF 3
CORRUGATIONS;
这可能不是你想要的结果。因此,我仍然建议对此使用双引号方法
我建议您尝试一个简单的代码示例(如本文所述),看看您是否得到了相同的结果。这可能有助于缩小影响结果的其他因素。例如,在此过程中,您的$\u GET['model']
或$model
相关内容可能发生了一些奇怪的情况
此外,为了安全,我建议在不久的将来使用!如果有人将奇怪的输入作为$\u GET['model']变量发送给您,这是非常困难的
更新:
在使用本文前面的测试代码尝试类似的示例URL之后:http://localhost/q26.php?model=2%20ROLLING%20HOOPS\r\n和%202%20集%203中的%20集\r\n腐败代码>
我发现我需要修改下面的str\u replace()
行,使其看起来像这样:
$model = str_replace("\\r\\n", " ", $model);
为了补偿读取\r\n
的方式
因此,相关的更新示例代码目前如下所示:
<?php
$model = (isset($_GET['model'])) ? $_GET['model'] : '';
// ref: https://stackoverflow.com/questions/66576069
// /php-sqlsrv-fetch-array-return-to-json#comment117691397_66576069
$model = str_replace("\\r\\n", " ", $model);
echo "Result:\n";
echo $model;
echo "\n";
?>
我不确定为什么\r\n
部分与浏览器有差异。为了检查,我尝试了前面的示例查询中的相关更新代码,它似乎在Chrome(版本88.0.x)和Firefox(版本86.0.x)中对我都有效:
铬结果:
Firefox结果:
str\u replace(“\r\n”,”,$str)
str\u replace(“\r\n”,”,$str)我已经实现了这一点。但是什么也没有发生$model=str_replace('\r\n','$model);您确定$model变量具有您认为它具有的文本吗?暂时放置一个打印($model)可能是个好主意;在代码中第一行的前面一行,以查看该变量包含的内容。:)$模型来自URL参数..我检测到问题可能来自浏览器。。如果im使用mozilla\r\n仍显示..但如果im使用chrome\r\n未显示。。。到底是什么问题?你能建议我如何根据上面的代码实现准备好的语句吗?嗨@twister,我已经更新了上面的帖子,以可能解决你的第一点,尽管它可能无法回答你的问题。@twister:关于你关于实现准备好的语句的问题,我认为这可能是一个与您原来的帖子完全不同的主题,您可能想提出一个新问题,即如何为语句的部分(如部分)实现准备好的语句。但在这样做之前,我建议在网上搜索一下,看看这个问题是否已经得到了回答。通过快速搜索,我发现这可能解决了这个问题。@twister与中讨论的语句相比,其工作方式可能有所不同。
$model = str_replace("\\r\\n", " ", $model);
<?php
$model = (isset($_GET['model'])) ? $_GET['model'] : '';
// ref: https://stackoverflow.com/questions/66576069
// /php-sqlsrv-fetch-array-return-to-json#comment117691397_66576069
$model = str_replace("\\r\\n", " ", $model);
echo "Result:\n";
echo $model;
echo "\n";
?>