php - php echo 在输出前添加 /r/n
问题描述
可能这是我的另一个愚蠢的问题,但是......
我有这个非常简单的 PHP 文件,它从 MySQL 数据库返回表的“日期时间”字段中的第一个日期:
<?php
$query = "SELECT MIN(Date) FROM Table";
$result = mysqli_query($db,$query); //$db defined elsewhere
if ($result) {
$row = mysqli_fetch_row($result);
echo $row[0];
}
?>
一切正常,日期返回,但'\r\n'
开头多了一个;即:'\r\n2019-01-21'
。
我不明白这是从哪里来的,它会在程序的其余部分产生错误。
请注意,我目前有几个其他 PHP 文件没有显示此问题。
目前我暂时用'firstdate.slice(2)'
.
怎么了?
编辑
我检查了 MySql/PHP 端,没有任何外部字符(感谢 Alister 的 var_dump 建议)。我还删除了结束 ?> 标记,结果相同。
问题似乎来自 Ajax 调用,如下所示:
$.ajax({
url: "php/caricaPrimaData.php", //the above snippet
type: "GET",
async: false, //I know, should be True, but it is ok for me
success: function(response){ //response = '/r/n2015-11-15'
gFirstDate = response.trim();
}
});
这里的“响应”变量(用 Mozilla 调试器检查)显示换行符,然后被修剪删除。
解决方案是可以接受的,但好奇心仍然存在。
解决方案
如果屏幕的输出有额外的换行符,而不是变量(检查var_dump($row[0]);
),那么如果您在运行该代码之前包含其他文件,并且其他文件也有 close-PHP?>
标记,您可能有一个空行隐藏在标签之后,文件中的某处。
这就是为什么在不需要时不再使用任何关闭 php 标记是最佳实践的原因——这只会出现在 HTML 文件的中间,其中包含一些 PHP。
没有结束标签,你不能在它后面放任何东西,即使是意外。
推荐阅读
- java - PDFBox - 如何推送/取消推送 PD(推送)按钮
- animation - 如何为 Tween 转换 RenderBox 全局位置坐标
? - android-studio - 将 kvm 与 WSL 一起使用(尝试使用 WSL 运行 Android 模拟器)
- python - 无法在 MacOs(Mojave) 上升级或删除 pip 包“altgraph”
- c# - 检测到 NuGet 包的版本冲突
- webview - NativeScript,WebView 在离线时显示本地 HTML 文件
- python - TypeError: call_api() 得到了一个意外的关键字参数“异步”
- r - 用 R 中的 NA 替换缺失的数据
- rust - 如何在 Rust 中复制而不是借用 i64 到闭包中?
- linux - 如何在不使用 grub 的情况下设置 Linux init 进程关联?