我在通过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.。我知道代码不安全或安全,将在功能部件完成后出现。)
答案 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,并使用PDO或MySQLi - this article将帮助您确定哪个。如果您选择PDO here is a good tutorial。
答案 1 :(得分:0)
你需要像你这样逃避$ fn和$ sn:
$ sql =“INSERT INTO p_database(Firstname,Surname)VALUES('$ fn','$ sn')”;