2013-10-25 64 views
0

我在我的MySQL數據庫以下值的「說法」場插值他們:在$每月$ X日 如何存儲變量在一個數據庫,然後檢索

然後當我把它拿來在db中,我希望能夠定義變量,然後用插入的變量回顯語句。 這樣的:

$x = '4th'; 
$month = 'july'; 
// query and fetch.. 
$sentence = $result['statement']; 
echo $sentence; // I want this to read 'on the 4th day of july' 

問題是所有我得到的是「上$每月$ X日」。

我試過把引號和雙引號放在東西的周圍,但是不知道怎麼做到這一點。

+0

您能否將DB提取內容添加到您的代碼中? –

+0

echo「on」。$ x。「day of」。$ month; – Ryan

回答

0

如果我理解你對,你想把變量名放入數據庫中? 你有兩個選擇:

醜陋和骯髒

保存到數據庫: $ X '的東西'「。 「。月」。將會發生';

要叫它: echo eval($sentence);

評估和演示將執行一切你會給所以這是非常不安全的。

尼斯和更安全:

保存到數據庫: 東西上的%s%s的一天會發生

要叫它: echo sprintf($sentence, $x, $month);

sprintf將格式字符串和「驗證「變量。例如,如果你將%d放在句子中,那麼sprintf將在那裏需要一個整數。

相關問題