只选取最后一个数据库插入的结果
Only picks the last database inserted result
我得到了这个简单的东西,它基本上可以工作,但是有些地方听起来不对,所以我得到了这个:
$text = $_GET['text'];
$sitechoose=mysql_query("SELECT * FROM site");
while($change=mysql_fetch_array($sitechoose)) {
$o = $change['original'];
$r = $change['changed'];
$messages = str_replace($o, $r, $text);
}
echo messages;
所以替换的东西起作用了,但只替换了最后一个数据库结果的 $o 和 $r,知道为什么吗?谢谢!
编辑:
$text 应该是微笑/脏话等...
而在 mysql table 中原来是微笑 :) amd 更改为
目前,您的 $messages
变量是一个简单的字符串。您需要使 $messages
成为一个数组。您的代码应该如下所示:
$text = $_GET['text'];
$sitechoose = mysql_query("SELECT * FROM site");
$messages = array();
while ($change = mysql_fetch_array($sitechoose)) {
$o = $change['original'];
$r = $change['changed'];
$messages[] = str_replace($o, $r, $text);
}
echo $messages;
分配给 $messages[]
会将一个新元素推到数组的末尾。
我得到了这个简单的东西,它基本上可以工作,但是有些地方听起来不对,所以我得到了这个:
$text = $_GET['text'];
$sitechoose=mysql_query("SELECT * FROM site");
while($change=mysql_fetch_array($sitechoose)) {
$o = $change['original'];
$r = $change['changed'];
$messages = str_replace($o, $r, $text);
}
echo messages;
所以替换的东西起作用了,但只替换了最后一个数据库结果的 $o 和 $r,知道为什么吗?谢谢!
编辑: $text 应该是微笑/脏话等... 而在 mysql table 中原来是微笑 :) amd 更改为
目前,您的 $messages
变量是一个简单的字符串。您需要使 $messages
成为一个数组。您的代码应该如下所示:
$text = $_GET['text'];
$sitechoose = mysql_query("SELECT * FROM site");
$messages = array();
while ($change = mysql_fetch_array($sitechoose)) {
$o = $change['original'];
$r = $change['changed'];
$messages[] = str_replace($o, $r, $text);
}
echo $messages;
分配给 $messages[]
会将一个新元素推到数组的末尾。