Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/61.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/6.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 mysql_fetch_数组加上未定义变量的RSS源问题_Php_Mysql_Resources_Rss - Fatal编程技术网

Php mysql_fetch_数组加上未定义变量的RSS源问题

Php mysql_fetch_数组加上未定义变量的RSS源问题,php,mysql,resources,rss,Php,Mysql,Resources,Rss,最近,我重建了我的网站,并使用以下简单代码从mysql db中获取数据,作为rss: <?php $connection = mysql_connect("localhost", "site_user", "1212121") or die (mysql_error()); // 'database_name' $db = mysql_select_db("site_db", $connection) or die (mysql_error()); $rss_qu

最近,我重建了我的网站,并使用以下简单代码从mysql db中获取数据,作为rss:

<?php



$connection = mysql_connect("localhost", "site_user", "1212121") or die (mysql_error()); // 'database_name' 
$db         = mysql_select_db("site_db", $connection) or die (mysql_error());

$rss_query = @mysql_query("SELECT * FROM jokes where valid = '1' order by id asc LIMIT 0,20");

echo $rss = "<?xml version='1.0' encoding='utf-8' ?>

<rss version='2.0'>

<channel>

<title>site</title>

<link>www.site.com</link>
<description>feed</description>
 ";

while ($q_rss = mysql_fetch_array($rss_query)) {

$id[]    =  $q_rss['id'];
$title[] =  $q_rss['joketitle'];
$des[]   =  $q_rss['preview'];
}    

$count = count($id); 
for ( $i = 0; $i <= $count-1; $i ++) {   
echo $r = " 
<item>
 <title>".$title[$i]."</title>

<link>www.site.com/view.php?byt=".$id[$i]."</link>

<description>...".substr($des[$i],0,70)."</description>

</item>
";
}
echo "
</channel>

</rss>";




?>

我的php和mysql版本是最新的。

是否有特殊原因让您希望将项目添加到数组中,然后在以后迭代这些数组,而不是直接在记录集迭代中添加rss内容

另外,
mysql.*
函数套件已被弃用,因此建议您迁移到
mysqli
——尽管这里没有sql注入的真正风险,因为您没有将用户输入作为sql的参数

也就是说,应该进行某种逻辑测试,以查看查询是否生成了记录集

<?php
    $connection = mysql_connect("localhost", "site_user", "1212121") or die (mysql_error());
    $db         = mysql_select_db("site_db", $connection) or die (mysql_error());
    $rss_query  = mysql_query("SELECT * FROM `jokes` where `valid` = '1' order by `id` asc LIMIT 0,20");

    echo $rss = "<?xml version='1.0' encoding='utf-8' ?>
    <rss version='2.0'>
        <channel>
            <title>site</title>
            <link>www.site.com</link>
            <description>feed</description>";

    if( $rss_query && mysql_num_rows( $rss_query ) > 0 ) {
        while( $q_rss = mysql_fetch_array($rss_query) ) {
            echo "
            <item>
                <title>{$q_rss['id']}</title>
                <link>{$q_rss['joketitle']}</link>
                <description>...{$q_rss['preview']}</description>
            </item>";
        }
    } else {
        echo "
            <item>
                <title>Error</title>
                <link></link>
                <description>The sql query has failed for some reason</description>
            </item>";   
    }

    echo "
        </channel>
    </rss>";

?>
0){
而($q\u rss=mysql\u fetch\u数组($rss\u query)){
回声“
{$q_rss['id']}
{$q_rss['joketitle']}
…{$q_rss['preview']}
";
}
}否则{
回声“
错误
由于某种原因,sql查询失败
";   
}
回声“
";
?>

您希望将项目添加到数组中,然后在以后迭代这些数组,而不是直接在记录集迭代中添加rss内容,这有什么特别的原因吗

另外,
mysql.*
函数套件已被弃用,因此建议您迁移到
mysqli
——尽管这里没有sql注入的真正风险,因为您没有将用户输入作为sql的参数

也就是说,应该进行某种逻辑测试,以查看查询是否生成了记录集

<?php
    $connection = mysql_connect("localhost", "site_user", "1212121") or die (mysql_error());
    $db         = mysql_select_db("site_db", $connection) or die (mysql_error());
    $rss_query  = mysql_query("SELECT * FROM `jokes` where `valid` = '1' order by `id` asc LIMIT 0,20");

    echo $rss = "<?xml version='1.0' encoding='utf-8' ?>
    <rss version='2.0'>
        <channel>
            <title>site</title>
            <link>www.site.com</link>
            <description>feed</description>";

    if( $rss_query && mysql_num_rows( $rss_query ) > 0 ) {
        while( $q_rss = mysql_fetch_array($rss_query) ) {
            echo "
            <item>
                <title>{$q_rss['id']}</title>
                <link>{$q_rss['joketitle']}</link>
                <description>...{$q_rss['preview']}</description>
            </item>";
        }
    } else {
        echo "
            <item>
                <title>Error</title>
                <link></link>
                <description>The sql query has failed for some reason</description>
            </item>";   
    }

    echo "
        </channel>
    </rss>";

?>
0){
而($q\u rss=mysql\u fetch\u数组($rss\u query)){
回声“
{$q_rss['id']}
{$q_rss['joketitle']}
…{$q_rss['preview']}
";
}
}否则{
回声“
错误
由于某种原因,sql查询失败
";   
}
回声“
";
?>

此错误通常表示查询失败,并在
mysql\u查询(…)
中返回
false
,但在您的情况下,它可能表示连接也失败。不要隐藏错误,例如添加
@
检查错误并做出相应的反应。请不要使用
mysql\uu
数据库扩展,它已被弃用(在PHP7中永远不会使用),特别是如果您只是在学习PHP,请花费精力学习
PDO
mysqli\ucode>数据库扩展,当您正在进行重写时,现在正是进行此更改的最佳时机,同时在打开PHP标记后立即进行测试时,将错误报告添加到文件顶部。例如,
此错误通常意味着在
mysql\u查询(…)中查询失败并返回
false
但在您的情况下,这可能意味着连接也失败。不要隐藏错误,例如添加
@
检查错误并做出相应的反应。请不要使用
mysql\uu
数据库扩展,它已被弃用(在PHP7中永远不会使用),特别是如果您只是在学习PHP,请花费精力学习
PDO
mysqli\ucode>数据库扩展,当您正在进行重写时,现在是进行此更改的最佳时机,同时在打开PHP标记后立即进行测试时,将错误报告添加到文件顶部,例如