我怎么能在PHP表单中添加一个字段

时间:2015-05-14 20:19:52

标签: php mysql

我正在寻找一个sql语句,我可以在提交给mysql数据库时向表单字段添加additoinal文本。例如:字段包含已加载到名为“mydoc.pdf”的Web服务器的文件名。我想添加以下文字“http://www.example.com/uploads/”,因此在提交表单时,字段数据会变为“http://www.example.com/uploads/mydoc.pdf”。

现在,未填充的字段“tofiles_link”使用以下mysql查询语句插入到mysql数据库中:

mysql_query("INSERT INTO site_tofiles (tofiles_title, tofiles_body, 
tofiles_link, tofiles_relation, tofiles_type,  tofiles_post_ip, 
tofiles_post_user) VALUES 
('".mysql_real_escape_string($_POST['tofiles_title'])."', 
'".mysql_real_escape_string($_POST['tofiles_body'])."', 
'".mysql_real_escape_string($_POST['tofiles_link'])."', 
'".mysql_real_escape_string($_POST['tofiles_relation'])."', 
'".mysql_real_escape_string($_POST['tofiles_type'])."',  
'".mysql_real_escape_string($_SERVER['REMOTE_ADDR'])."', 
'".mysql_real_escape_string($_GET['tofiles_post_user'])."')");

echo "Data was Entered Successfully!\n";
mysql_close($conn);

这可以修改以适应我的想法吗? THX

1 个答案:

答案 0 :(得分:-1)

为了使代码更具可读性,我会在创建SQL查询之前进行转义。不是必需的,但使代码更容易阅读。

$title = mysql_real_escape_string($_POST['tofiles_title']);
$body = mysql_real_escape_string($_POST['tofiles_body']);
$link = "http://www.example.com/uploads/" . mysql_real_escape_string($_POST['tofiles_link']);
$relation = mysql_real_escape_string($_POST['tofiles_relation']);
$type = mysql_real_escape_string($_POST['tofiles_type']);
$ip = $_SERVER['REMOTE_ADDR'];
$post_user = mysql_real_escape_string($_GET['tofiles_post_user']);

注意上面第3行的$ link变量将URL添加到字符串中。

$sql = "INSERT INTO site_tofiles (tofiles_title, tofiles_body, tofiles_link, tofiles_relation, tofiles_type,  tofiles_post_ip, tofiles_post_user) VALUES ";
$sql .= "('$title', '$body', '$link', '$relation', '$type', '$ip', '$post_user');";
mysql_query($sql);

echo "Data was Entered Successfully!\n";
mysql_close($conn);