用+替换空格

时间:2012-09-30 21:47:46

标签: php mysql str-replace

大家好我对MySql有一个小问题,基本上我从一个名为addressone的表中提取变量,这是一个varchar 255!我试图实现的是用+来替换单词之间的空格但是由于某种原因它没有这样做!我有两个页面,一个名为path.php,另一个名称谢谢我的路径,我有这个......

$notokinarray = array(' ');
$okinarray = array('+');

$addressone = $row["addressone"];
$addressone = str_replace($notokinarray, $okinarray, $addressone);

然后我在那个页面的HTML中有这个

<select name="somesite" id="somesite">
<option value="">Please Choose</option>
<option value="yes">Yes</option>
<option value="no">No</option></select>
http://www.somesite.com/post.php?&field4=<?php echo '$addressone';?>

使用提交按钮转到thanks.php

在我的thanks.php页面上我有这个...

$somesite = $_POST['somesite']; 

$sql = mysql_query("SELECT * FROM myMembers WHERE id='$id' LIMIT 1");
while($row = mysql_fetch_array($sql)){
    $addressone = $row["addressone"];
} 
if ($somesite == "yes") {
    $somesite = '<iframe src="http://www.somesite.com/post.php?&field4=<?php echo '$addressone';?> width="1" height="1"></iframe>';
    } else {
    $somesite = '';
    }

echo 
' . $somesite . '
http://www.somesite.com/post.php?&field4=<?php echo '$addressone';?>
exit();
?>

据我所知,我的所有空间都应该替换为+符号,但由于某种原因不是,有人可以帮忙吗?

问候,菲利普

更新

我现在正在采用另一种机智,并尝试在用户注册时放置+,但它仍然没有好处!看看这个......

$sql = mysql_query("UPDATE myMembers SET field = REPLACE(field, ' ', '+'");
     $sql = mysql_query("INSERT INTO myMembers (title, firstname, lastname,username, gender, birthday, email, password, housenumber, addressone, addresstwo, county, city, country, postcode, phone, ipaddress, sign_up_date) 
     VALUES('$title','$firstname','$lastname','$username','$gender','$full_birthday','$email1','$db_password', '$housenumber','$addressone','$addresstwo', '$county', '$city', '$country','$postcode','$phone','$ipaddress', now())")  
     or die (mysql_error());

1 个答案:

答案 0 :(得分:3)

变量不会插入由单引号分隔的字符串中。此外,如果它已经是一个字符串,将它放在一个字符串中是多余的。只需完全从echo $addressone左右删除引号。

除此之外,urlencode()将为您正确编码字符串。