0

我有一个表单的字段帖子:

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

我试图插入到 post.php中数据库中foo命名的一个小的 mySql 表中。'datatable''mydatabase'

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

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

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

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

但无法找出正确的语法来完成这项工作。你们中的任何一个聪明人都可以帮助提示我正确的方向吗?

非常感谢...

4

2 回答 2

3

PHP.用于连接,而不是+.

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

于 2012-10-21T05:13:35.243 回答
1

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

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

但是就像在下面的评论中提到的那样,您确实应该使用 PDO。

于 2012-10-21T05:11:46.833 回答