使用INSERT INTO $变量使用1表​​单插入到不同的表中

时间:2012-11-04 11:56:21

标签: php mysql forms variables insert

要问的问题很难,但基本上我有一个带有“标题”,“消息”和“图像”框的网页表单,它们都可以上传到mysql上的一个表格。

我想要做的是在我的表单中有另一个字段,我希望它发布到哪里,我目前有2页和2个表。表博客和表格Blog_2 如果我将insert.php更改为INSERT INTO Blog或Blog_2

,它们都可以工作

但我希望能够使用该字段和$_POST[Blog] 链接到表单中字段的函数,它将有一个下拉框来选择Blog或Blog_2

以下是我的代码。我已经试了一下,但似乎无法让它发挥作用。 我可以看到,我创建了一个名为$ insert的变量。

也许它只是一个语法问题,但我不是PHP精明。

<?php
$con = mysql_connect("xxx","xxx","xxx");
mysql_select_db("databse") or die(mysql_error());

$insert = '$_POST[Blog]';

mysql_query("INSERT INTO $insert
(Date, Title, Message, Image) 
VALUES(now(), '$_POST[Title]' , '$_POST[Message]' , '$_POST[Image]' ) ")
or die(mysql_error()); 

echo "1 record added";


mysql_close($con);
?>

2 个答案:

答案 0 :(得分:1)

尝试以下

$insert = mysql_real_escape_string($_POST['Blog']);

mysql_query("INSERT INTO ".$insert."
(Date, Title, Message, Image) 
VALUES(now(), '$_POST[Title]' , '$_POST[Message]' , '$_POST[Image]' ) ")
or die(mysql_error()); 

建议:

1.学会防止MySQL注入:Good Link

2.建议不要使用扩展名来编写新代码。相反,应该使用mysqli或PDO_MySQL扩展。更多阅读:PHP Manual

答案 1 :(得分:0)

$insert = $_POST['Blog'];
function clean($text) {
 $text = str_replace("'", "\'", $text);
 return $text;
}
mysql_query("INSERT INTO ".$insert."
(`Date`, `Title`, `Message`, `Image`) 
VALUES(now(), '".clean($_POST['Title'])."' , '".clean($_POST['Message]'])."' , '".clean($_POST['Image]'])."' ) ")
or die(mysql_error());