我有以下代码,我尝试使用URL中的参数从我的数据库中获取匹配项。我不断收到错误消息“失败了”。该URL显示为:
http://www.examplesite.com/template.php?eventname=3506
代码:
<?php
require_once("./source/include/membersite_config.php");
if(!$fgmembersite->CheckLogin())
{
$fgmembersite->RedirectToURL("login.php");
exit;
}
// Make a MySQL Connection
...
// Retrieve the variable from the url
if(!empty($_GET['eventname'])) {
$eventname = $_GET['eventname'];
} else {
//set default value for $eventname or maybe output an error because eventname isn't set
echo '<p>', 'something failed', '</p>';
}
答案 0 :(得分:0)
您的代码应该有效,除非某些内容干扰了查询字符串。
<强>第一强>
替换此行:
echo '<p>', 'something failed', '</p>';
使用:
printf("<pre>Something Failed:\n%s\n</pre>", var_export($_GET, true));
exit;
其中包含一些带有错误消息的有意义的数据,然后退出,这样您就不会继续处理其余脚本中的错误/丢失数据。 [printf是一个非常方便的学习功能]
<强>第二强>
如果以上内容没有向您显示任何内容,请在您的网站中查找可能包含RewriteRule的.htaccess
文件,该文件正在弄乱查询字符串。
答案 1 :(得分:0)
附注:不要通过不转发您在查询中放置的内容来破坏数据库。
$result = mysql_query("SELECT * FROM events WHERE event_id = '$eventname'")
改为使用mysql_real_esape_string($ eventname)。