【发布时间】:2017-09-10 09:08:43
【问题描述】:
str_replace 中的while 函数只返回第一行信息。这是电子邮件模板。
// I have a macro in my message. (member name)
$message = "Hi {%write_member_name%} how are you?";
$connect = mysql_query("SELECT * FROM members");
while($row=mysql_fetch_array($connect)){
$membername = $row["member_name"];
$message = str_replace('{%write_member_name%}', $membername ,$message);
echo $message."<br/>";
}
我应该得到的结果。
嗨杰克你好吗?
嗨迈克你好吗?
嗨亚历克斯你好吗?
但我得到了错误的结果:
嗨杰克你好吗?
嗨杰克你好吗?
嗨杰克你好吗?
如果我不使用 str_replace 函数,它可以正常工作。
如何在 while 循环中使用 str_replace 函数? 谢谢。
【问题讨论】:
-
mysql_query 已弃用。使用 mysqli 甚至更好的 PDO。
-
修复所有软件需要很长时间。不过谢谢你的建议。
-
@MertA。你试过打印
$row["member_name"]吗?它是否也一直打印相同的值? -
@Difster 如果我不使用 str_replace 函数,它可以正常工作。
标签: php mysql loops while-loop str-replace