【发布时间】:2015-02-10 04:15:05
【问题描述】:
这个短脚本有问题,过去一天让我很生气。
我正在尝试将 mysql 数据库表中的一个值连接成一个字符串,但输出是无序的。
考虑以下代码:
$result = mysqli_query($con, "SELECT something FROM table");
while ($row = mysqli_fetch_array($result)){
$foo ='<iframe src="http://www.website.com/embed/' . $row[0] . '%';
echo $foo;
}
这个结果的输出是:
%iframe src="http://www.website.com/embed/84a42780062ce000dcb5
我想要的输出是这样的:
<iframe src="http://www.website.com/embed/84a42780062ce000dcb5%
为什么在 $row[0] 之后连接的任何东西都被推到字符串的前面?为什么“
我怎样才能达到我想要的输出?
来自 cmets:
我应该补充一点,我正在服务器的命令行中执行此操作。
【问题讨论】:
-
我不认为它被推到了前面。其他事情正在发生,例如部分可见的损坏的 HTML。您在查看浏览器的页面源吗?您至少会在页面源代码中看到开头的
<iframe。 -
好吧,我想我应该补充一点,我正在服务器的命令行中执行此操作。我需要稍后使用 $foo 来针对另一个数据库表运行以删除一些行。
-
$row[0]值是否包含回车符(没有换行符)?这将导致命令行返回到 0 位置然后覆盖该行。你可以使用trim($row[0])来防止这种情况发生。 -
事实上,我认为 db 值末尾的 CR 会产生您所看到的奇怪输出。
-
一个...的儿子,就是 trim() 解决了它。我爱你们,谢谢!
标签: php mysql echo string-concatenation