我有一个表单的字段:
<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'] + '\');');
但是无法找出使其正常工作的正确语法。你们中任何一位才华横溢的人能否帮我提示正确的方向?
非常感谢......
答案 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。