通过URL发送到SQL数据库

时间:2014-08-27 08:14:43

标签: php sql url

我在通过URL将值保存到SQL数据库时遇到了一些困难。我可以在INSERT命令中明确地输入值,但这不是我想要的。 说我有一个如下的URL:
和代码如下:

<?php
include 'curr.php';
$url = curPageURL();
$query_str = parse_url($url, PHP_URL_QUERY);
$query = parse_str($query_str, $query_params);
$fn = $_REQUEST['Firstname'];$sn = $_REQUEST['Surname'];
$link = mysql_connect('server.co.li', 'username', 'pass333');
if (!$link) {
    die('Could not connect: ' . mysql_error());
}
echo 'Connected successfully';
$sql = 'INSERT INTO p_database '.
       '(Firstname, Surname) '.
       'VALUES ($fn, $sn)';

mysql_select_db('my_db');
$retval = mysql_query( $sql, $link );
if(! $retval )
{
  die('Could not enter data: ' . mysql_error());
}
echo "Entered data successfully\n";
mysql_close($link);
?>

我已经尝试了$ _Get和$ _POST以及$ _REQUEST来获取信息,这是我运行时产生的错误: “已成功连接无法输入数据:'字段列表'中的未知列'$ fn'

任何帮助将不胜感激。 (P.。我知道代码不安全或安全,将在功能部件完成后出现。)

2 个答案:

答案 0 :(得分:1)

您的报价不正确,

$sql = "INSERT INTO p_database ".
       "(Firstname, Surname) ".
       "VALUES ('$fn', '$sn')";

Waring: Please, don't use mysql_* functions in new code。它们不再被维护and are officially deprecated。请参阅red box?转而了解prepared statements,并使用PDOMySQLi - this article将帮助您确定哪个。如果您选择PDO here is a good tutorial

答案 1 :(得分:0)

你需要像你这样逃避$ fn和$ sn:

$ sql =“INSERT INTO p_database(Firstname,Surname)VALUES('$ fn','$ sn')”;