Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/280.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php rss源问题_Php_Rss - Fatal编程技术网

Php rss源问题

Php rss源问题,php,rss,Php,Rss,我用php制作了rss提要,我已经 问题 当我从用户处获取输入时出错。 错误是: 警告:mysql\u fetch\u array()希望参数1是资源,布尔值在第52行的C:\wamp\www\rss.php中给出 <html> <head> <title>RSS Feed</title> <style> h1{ text-align: ce

我用php制作了rss提要,我已经 问题 当我从用户处获取输入时出错。 错误是:

警告:mysql\u fetch\u array()希望参数1是资源,布尔值在第52行的C:\wamp\www\rss.php中给出

<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>

RSS源
h1{
文本对齐:居中;
颜色:黑色;
}
#链接
{
利润率:100px 50px;
}
RSS源
放置链接:

$result被声明两次。我猜您想要第一个,但是如果$doamin==TRUE,您会得到第二个$result,它是布尔值(插入的结果),因此会出现错误消息。

我猜只有当$domain为TRUE时,您才会得到该错误,从而导致第44行覆盖$result,并返回insert语句上的mysql\u查询调用,该语句返回布尔值:


这部分是您的问题:

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查询以返回记录集

Use
print mysql\u error()
以查找原因


$doamin
拼写错误。Hence为什么从未执行
插入
。如果运行它,那么前面的
$result
将消失,并导致前面提到的错误
警告:mysql_fetch_array()期望参数1是资源,布尔值给定

插入查询不返回对象,它只返回TRUE/FALSE。您可能需要使用不同的变量名来捕获INSERT查询的结果,因为它会覆盖SELECT查询的结果。