проблема с подачей RSS - PullRequest
       4

проблема с подачей RSS

0 голосов
/ 04 февраля 2011

Я сделал RSS-канал в PHP и у меня есть проблема.Я получаю сообщение об ошибке, когда получаю информацию от пользователя.Ошибка:

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 голосов
/ 04 февраля 2011

Используйте print mysql_error();, чтобы выяснить причину.

$doamin написано неправильно. Следовательно, INSERT никогда не выполняется. Если он будет запущен, предыдущий $result исчезнет и приведет к вышеупомянутой ошибке Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given

0 голосов
/ 04 февраля 2011

Полагаю, вы получаете эту ошибку только тогда, когда $ domain имеет значение true, в результате чего строка 44 перезаписывает $ result с возвратом вызова mysql_query для оператора INSERT, который возвращает логическое значение:

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

0 голосов
/ 04 февраля 2011

В этом разделе ваша проблема:

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, чтобы вернуть набор записей

0 голосов
/ 04 февраля 2011

$ результат объявляется дважды. Я думаю, вы хотите первый, но если $ doamin == TRUE, вы получите второй результат $, который является логическим (результат вставки), отсюда и сообщение об ошибке.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...