带有php的RSS和查询中的变量

时间:2012-02-27 17:18:26

标签: php mysql rss

我正在尝试为多个用户构建一个简单的RSS提要,但我遇到了mysql和feed的问题。

我做了一个showrss.php和一个RSS.php 我已经按照这个教程,它开箱即用。但是,我试图构建它,在填充RSS的mysql查询中使用var。

所以showrss.php会这样做:

require_once "XML/RSS.php";
$rss =& new XML_RSS("http://domain.com/RSS.php");
$rss->parse();
foreach ($rss->getItems() as $item) {
  echo "<li><a href=\"" . $item['link'] . "\">" . $item['title'] . 
"</a></li>\n";
}

调用RSS.php文件。 RSS.php唯一的问题是mysql查询。 它根本不会使用查询中的变量,我想知道你们中的任何人是否可以指出我正确的方向。

这有效:

$query = "select * from article where full_name = 'myname' limit 15";

这不起作用:

$full_navn = $_SESSION['full_name'];
$query = "select * from article where full_name = '".$full_navn."' limit 15";

但是,使用变量在浏览器中直接加载RSS.php确实有效。 关于如何通过showrss.php查看变量到rss.php的任何想法?

非常感谢任何意见。

1 个答案:

答案 0 :(得分:0)

将您的变量通过$_GET传递到RSS Feed,并避免任何可能丢失的会话变量。

对于名称为flamingcarrot的用户,您的showrss.php文件会是这样的:

$rss =& new XML_RSS("http://domain.com/RSS.php?fullname=flamingcarrot");

然后你的RSS.php文件将是:

$full_navn = $_GET['full_name'];
$query = "select * from article where full_name = '".$full_navn."' limit 15";

如果你还没有,并且因为它将会对你的SQL语句进行琐事,那么请在avoiding some SQL injection attacks上查看一些如何在实际运行之前正确清理该SQL查询。