rss饲料问题

时间:2011-02-04 11:21:49

标签: php rss

我用php制作了RSS,我有 问题。 当我从用户那里获得输入时,我收到错误。 错误是:

Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in C:\wamp\www\rss.php on line 52

<html>
    <head>
        <title>RSS Feed</title>
        <style>
            h1{
                text-align: center;
                color:black;
            }
            #link
            {
                    margin: 100px 50px;
            }
        </style>

    </head>
<body>
    <h1>RSS Feed</h1>

    <form method="post" name="lin">
        <a>Put link: </a><input type="text" name="link">
        <input type="submit" value="submit">
    </form>

<?php

$connection = mysql_connect("localhost", "root", "")
            or die("It has problem with connect to mysql server");


$db = mysql_select_db("rss", $connection)
            or die("dont find some database");

$link = file_get_contents(@$_POST['link']);
$domain = strstr($link, '<a title=');

        $query = "SELECT * FROM `link`";
        $result = mysql_query($query)
                or die("Query Faild!: " . mysql_error());


    if($doamin == TRUE)
        {
        $query = "INSERT INTO `link` (title) VALUES('NewMessage')";
        $result = mysql_query($query)
                or die("Query faild!: " . mysql_error());
        }
    else
        {
            return 0;
        }

    while($row = mysql_fetch_array($result))
    {
        print '<div id="link"></br />';
        print $row['title'];
        print "</a>";
    }
    mysql_close($connection);

?>
</body>
</html>

请帮忙

4 个答案:

答案 0 :(得分:0)

$ result被声明两次。我想你想要第一个,但是如果$ domain == TRUE你得到第二个$ result,它是boolean(插入的结果),因此是错误信息。

答案 1 :(得分:0)

我的猜测是,只有当$ domain为true时才会出现错误,导致第44行在INSERT语句上返回一个mysql_query调用时覆盖$ result,返回一个布尔值:

http://jp.php.net/manual/en/function.mysql-query.php

答案 2 :(得分:0)

这部分是你的问题:

if($domain == TRUE)
                {
                $query = "INSERT INTO `link` (title) VALUES('NewMessage')";
                $result = mysql_query($query)
                                or die("Query faild!: " . mysql_error());
                }
        else
                {
                        return 0;
                }

        while($row = mysql_fetch_array($result))

您正在插入一条记录并期望它返回不能记录的内容。您需要运行SELECT查询以恢复记录集

答案 3 :(得分:0)

使用print mysql_error();找出原因。

$doamin拼写错误。因此,INSERT永远不会被执行。如果它已运行,则之前的$result将消失并导致上述错误Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given