【发布时间】:2013-04-04 19:27:26
【问题描述】:
我正在尝试使用 Get 语句从 PHP URL 传递多个值。我觉得应该很简单。我已经成功地传递了一个变量,但由于某种原因,第二个变量总是最终为 NULL。
这是我的代码:
<?php
$DB_HostName = "localhost";
$DB_Name = "prototype3DB";
$DB_User = "root";
$DB_Pass = "root";
$DB_Table = "sqlTable";
if (isset ($_GET["date"]))
$date = $_GET["date"];
else
$date = "null";
if (isset ($_GET["fname"]))
$fname = $_GET["fname"];
else
$fname = "null";
$con = mysql_connect($DB_HostName,$DB_User,$DB_Pass) or die(mysql_error());
mysql_select_db($DB_Name,$con) or die(mysql_error());
$sql = "insert into $DB_Table (date, fname) values ('$date','$fname')";
$res = mysql_query($sql,$con) or die(mysql_error());
mysql_close($con);
if ($res) {
echo "success";
}else{
echo "failed";
}// end else
?>
日期变量总是被传递给数据库,但 fname 是最终为 NULL 的变量。 我有点感觉这是语法问题,但我对 PHP 还是很陌生。
基本上,我认为这行是问题所在:
$sql = "insert into $DB_Table (date, fname) values ('$date','$fname')";
感谢您的帮助。
谢谢。
【问题讨论】:
-
旁注:我真的希望您不要在应用程序中使用 root 用户。再加上你的 SQL 注入漏洞,你就完蛋了。
-
运行
print_r($_GET)以确保您正确传递它...它应该为您提供$_GET值的数组。 -
向我们展示您尝试传递给它的连接字符串?减去域名,当然。
-
请不要使用
mysql_*函数。使用 PDO 或 MySQLi