2012-10-21 68 views
0

正確的語法,我有以下形式的單場崗位:添加PHP POST數據到MySQL串

<form action="post.php" method="post"> 
<input type="text" name="foo" /> 

我試圖插入foo到在崗數據庫'mydatabase'命名爲'datatable'小MySQL表。 PHP。

此字符串對我的作品在我的表中添加一個數據行:

mysql_query('INSERT INTO 'mydatabase'.'datatable' ('data') VALUES (\'testabc\');'); 

所以我知道我的連接字符串工作。但是,我無法弄清楚如何將實際的發佈數據($_POST['foo'])插入到我的表中。我嘗試過的字符串如:

mysql_query('INSERT INTO 'mydatabase'.'datatable' ('data') VALUES (\'' + $_POST['foo'] + '\');'); 

但是找不出正確的語法來完成此工作。你們中任何一位聰明的人都能幫助我向正確的方向提示嗎?

非常感謝......

回答

3

PHP使用.進行級聯,而不是+。但是,你真的不應該使用mysql_*。我強烈建議PDO。它使用簡單,並且可以保護您免受注射(目前您很容易受到傷害)。您可能還需要考慮啓用魔術引號,以便發佈數據時可能適用stripslashestrim。通常也是如此。

+0

謝謝你與我分享。這個社區是美好的。我顯然是直奔一個受傷的世界... – Nanomurf

+0

@Nanomurf更多信息:http://explosion-pills.com/ –

1

你的問題是,你正在使用+來連接的查詢字符串的部分。在PHP字符串連接完成使用點.。你可以做的是

mysql_query('INSERT INTO `mydatabase`.`datatable` (`data`) VALUES (\'' . mysql_real_escape_string($_POST['foo']) . '\');'); 

但是像下面的評論中提到你真的應該使用PDO。

+0

@eggyal - 是的,我知道,我同意。我只是試圖幫助OP解答他的問題。 – Erik

+0

謝謝你們兩位!呃,你可能猜到了,我在這方面很新穎。感謝您在推動這個修復之前直接嚇到我......(奇妙的XKCD警告btw)。 – Nanomurf