带有$ _GET值和查询结果的str_replace

时间:2016-10-19 07:27:39

标签: php mysql

我想根据$_GET值替换我的查询结果,如

如果我有像中的URL URL/?userid=3255

然后在打印数据库数据时,数据库中userid的输出应替换为$_GET

PS:我不想更新数据库中的用户ID我只想在从数据库打印数据时替换前端的用户ID 数据库表:

userid     | name
-----------|
userid=4332|ron  

代码:

<?php str_replace("userid=","userid=echo $_GET['userid'],"$row['userid']);?>  

$ row ['userid']是我从数据库中获取的数据

2 个答案:

答案 0 :(得分:0)

试试这个:

<?php str_replace("userid=","userid=".$_GET['userid'], $row['userid']);?>

但如果用户更改$ _GET [&#39; userid&#39;]参数打印结果也将根据新的用户标识参数更改。

答案 1 :(得分:0)

您可以在返回关联数组的网址上使用parse_url。然后使用parse_str将字符串解析为变量。进行所需的任何更改。然后使用http_build_query重新组合地址并进行更改。

$url = 'http://www.example.com/?userid=3255';
$parsed_url = parse_url($url);
parse_str($parsed_url['query'], $parsed_str);

if(isset($parsed_str['userid']))
{
  // make any changes you want
  $parsed_str['userid'] = "new id"; 

  // reassemble the address with the changes
  $link = "http://$_SERVER[HTTP_HOST]/?";
  $http_builded = $link . http_build_query($parsed_str);
}

我希望这可以帮到你。