2013-03-11 84 views
1

我需要使用存储在mysql表列中的php变量调用url。例如:在mysql查询中使用php变量

在MySQL:现在

Table name: geturldata 
columns: srno | url 
contents: 1 | http://www.google.com/number=$mobno&user=$username 

,在PHP中,我会打电话给此表所示:

include (db.php)... 

$mobno = 91123456789; 
$username = 'HELLOWORLD'; 

$QRY = "Select * from TBLNAME where srno=1"; 
$doqry = mysql_query($QRY); 
$res = mysql_fetch_array($doqry); 

echo $result_url = $res['url'] 

它显示:

http://www.google.com/number=$mobno&user=$username 

我想它显示:

http://www.google.com/number=91123456789&user='HELLOWORLD' 

我应该在MySQL表中更改以获得上述结果?

回答

1

您需要用您的代码中设置的php变量替换URL中的变量(来自MySQL)。

更改行:

ECHO $result_url = $res['url'] 

到这样的事情:

$result_url = $res['url']; 
$result_url = str_replace("$username", urlencode($username), $result_url); 
$result_url = str_replace("$mobno", urlencode($mobno), $result_url); 
echo $result_url; 
+0

你可以尝试 '$ result_url = EXEC($水库[ '链接']);' 不知道是否会工作,但可能是值得一试。否则上述解决方案是唯一现实的答案。 – Dave 2013-03-11 12:10:06

0

我想在这种情况下,与sprintf的工作:

将它保存在数据库,如:

http://www.google.com/number=%d&user=%s 

并替换它后来:

echo sprintf('http://www.google.com/number=%d&user=%s', $mobno, $username);