要问的问题很难,但基本上我有一个带有“标题”,“消息”和“图像”框的网页表单,它们都可以上传到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);
?>
答案 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());