【问题标题】:Warning: mysql_fetch_array() expects parameter 1 && Warning: Cannot modify header information - headers already sent警告:mysql_fetch_array() 需要参数 1 && 警告:无法修改标头信息 - 标头已发送
【发布时间】:2014-11-23 16:52:55
【问题描述】:

我的 config.php 文件出现错误,它在 1 天前开始给我错误。 所以错误是:

警告:mysql_fetch_array() 期望参数 1 是资源,布尔值在第 32 行的 /home/x/public_html/rx/includes/config.php 中给出

警告:无法修改标头信息 - 标头已由 /home/x/public_html/rx/includes/config.php 中的(输出开始于 /home/x/public_html/rx/includes/config.php:32)发送第 38 行

我的配置 php 文件是下一个:

<?php
session_start();
include 'connection.php';
include 'functions.php';

$logged_in = 0;
if(isset($_SESSION['username']) && isset($_SESSION['password'])){
    $username = sec($_SESSION['username']);
    $password = sec($_SESSION['password']);

    $udata = get_row("SELECT * FROM playeraccounts WHERE playerName='$username' && playerPassword='$password'");
    if(isset($udata['playerID']))
    {
        $logged_in = 1;
        if(isset($_GET['logout']))
        {
            unset($_SESSION['username']);
            unset($_SESSION['password']);
            mysql_query("UPDATE playeraccounts SET rpgon=0 WHERE playerName='$username'"); 
            header('location: index.php');
        }
    }
}
function redirect_not_logged()
{
    $username = sec($_SESSION['username']);
    $password = sec($_SESSION['password']);

    $udata = get_row("SELECT * FROM playeraccounts WHERE playerName='$username' && playerPassword='$password'");
    $id = $udata['playerID'];
    $q = mysql_query("SELECT * FROM `playeraccounts` WHERE playerID = $id");
    while($row = mysql_fetch_array($q))
    {
         $rpg = $row['rpgon'];
    }
    if($rpg == 0) 
    { 
        header('location: login.php');
    }

}

// vars
$member_types = array(
    'Civilian',
    'Los Santos Police Department',
    'F.B.I',
    'National Guard',
    'Paramedic Department',
    'Guvernment',
    'The Russian Mafia',
    'Grove Street',
    'Los Aztecas',
    'The Riffa',
    'Ballas',
    'Los Vagos',
    'Hitman Agency',
    'School Instructors',
    'Taxi Company',
    'News Reporters',
    'Las Barrancas Taxi Company',
    'Las Barrancas Paramedic Department'
);
$shop_types = array(0,
    'Bullet',
    'Cheetah',
    'FCR-900',
    'Clear 10FP',
    'Golden Account',
    'Infernus',
    'Change Nick',
    'Turismo',
    'Clear 1 Warn',
);
$rank = array(

    'Civil',
    'Rank 1',
    'Rank 2',
    'Rank 3',
    'Rank 4',
    'Rank 5',
    'Rank 6',
    'Leader'
);

$account_types = array(
    'No',
    'Yes' 
);

$status_types = array(
    '<font color="#FF0000">Offline</font>',
    '<font color="#0DFF00">Online</font>',
    '<font color="#FEC300">Sleep</font>'
);

$status1_types = array(
    '<font color="#FF0000">&#8226</font>',
    '<font color="#0DFF00">&#8226</font>',
    '<font color="#0DFF00">&#8226</font>'
);
$ban_type = array(0, 'N', 'I');
$admins56 = array(0, 'Trial Admin', 'Junior Admin', 'General Admin', 'Head Admin', 'Lead Admin', 'Manager');
$helpers56 = array(0, 'Trial Helper', 'Helper', 'Lead Helper');

?>

我找不到问题所在,redirect_not_logged 函数也不再工作,因为我收到了这 2 个错误..

【问题讨论】:

  • $q 返回 false,表示您的表名不正确 (playeraccounts)、列名不正确 (playerID) 或在错误分配 $id var 上方的一行。什么返回echo "SELECT * FROM playeraccounts WHERE playerID = $id";
  • 为什么你选择使用第一个查询ID,而在第二个查询中使用这个ID,来自同一个表,另一个数据?

标签: mysql arrays header


【解决方案1】:

playerID 是玩家帐户中的行号。

【讨论】:

    猜你喜欢
    • 2011-01-15
    • 1970-01-01
    • 2011-05-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-09
    相关资源
    最近更新 更多