【发布时间】: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">•</font>',
'<font color="#0DFF00">•</font>',
'<font color="#0DFF00">•</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) 或在错误分配$idvar 上方的一行。什么返回echo "SELECT * FROM playeraccounts WHERE playerID = $id";? -
为什么你选择使用第一个查询ID,而在第二个查询中使用这个ID,来自同一个表,另一个数据?