将php post数据添加到mySQL字符串的正确语法

时间:2012-10-21 05:10:02

标签: php mysql syntax

我有一个表单的字段:

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

我正在尝试将foo插入post.php中数据库'datatable'中名为'mydatabase'的小mySql表中。

这个字符串适用于我在表格中添加数据行:

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

所以我知道我的连接字符串正在运行。但是,我无法弄清楚如何将实际的帖子数据($_POST['foo'])插入到我的表中。我尝试过如下字符串:

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

但是无法找出使其正常工作的正确语法。你们中任何一位才华横溢的人能否帮我提示正确的方向?

非常感谢......

2 个答案:

答案 0 :(得分:3)

PHP使用.进行连接,而不是+

但是,你真的不应该使用mysql_*。我强烈建议PDO。它使用简单,可以保护您免受注射(您目前易受伤害)。您可能还需要考虑启用魔术引号,因此帖子数据上的stripslashes可能是合适的。 trim。通常也是如此。

答案 1 :(得分:1)

您的问题是您正在使用+来连接查询字符串的各个部分。在php字符串中,使用点.进行连接。你能做的是

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

但是就像下面的评论中提到的那样,你真的应该使用PDO。