2013-03-11 154 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);