0

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

我想要做的是在我的表单中有另一个字段用于我希望它发布到的地方,我现在有 2 页和 2 个表格。表 Blog 和表 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);
?>
4

2 回答 2

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注入:好链接

2.不推荐使用Mysql扩展来编写新代码。相反,应该使用 mysqli 或 PDO_MySQL 扩展。更多阅读:PHP 手册

于 2012-11-04T11:59:10.737 回答
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()); 
于 2012-11-04T12:07:25.127 回答