I need help with display records from a SQL query with PHP. I made plenty of queries before and for some reason this one isn't working at all, and im getting very frustrated.
Code
========
// Get global variables
global $db, $elitePrefix, $mainTableClass, $tableHead, $ipBansTableID;
// Query database (uses a custom class)
$result = $db->sql_query("SELECT *, INET_NTOA(banned_ip) AS banned_ip FROM $elitePrefix"."_game_bans");
// Get number of results
$numResults = $db->sql_numrows($result);
// Just a function that opens up a table for layout
OpenTable();
echo "<table .... >";
....
// Start a for loop to loop through each record and echo column data from each
for($a = 0; $a < $numResults; $a++) {
// Fetch each record
$row = $db->sql_fetchrow($result);
echo "<tr><td><div style=\"text-align: center;\">$row[banned_player_name]</div></td><td><div style=\"text-align: center;\">$row[banned_ip]</div></td><td><div style=\"text-align: center;\">$row[banned_reason]</div></td><td><div style=\"text-align: center;\">$row[admin_name]</div></td><td><div style=\"text-align: center;\">$row[banned_date]</div></td></tr>";
}
....
CloseTable();
==========
End Code
SQL
======
CREATE TABLE elite_game_bans (
ban_id TINYINT UNSIGNED AUTO_INCREMENT NOT NULL,
game CHAR(100) NOT NULL,
server_name CHAR(100) NOT NULL,
server_ip INT UNSIGNED NOT NULL,
server_port SMALLINT(5) UNSIGNED NOT NULL,
banned_ip INT UNSIGNED NOT NULL,
banned_player_name CHAR(100) NOT NULL,
banned_proof_type CHAR(100) NOT NULL,
banned_reason TINYTEXT NOT NULL,
banned_description TEXT NOT NULL,
banned_date DATE NOT NULL,
admin_name CHAR(100) NOT NULL,
admin_ip TINYINT UNSIGNED NOT NULL,
status TINYINT(1) UNSIGNED NOT NULL,
PRIMARY KEY (ban_id),
FOREIGN KEY (game) REFERENCES elite_supported_games(game_name_short)
);
INSERT INTO elite_game_bans VALUES('', 'swat4', '|ELITE|', INET_ATON('89.238.160.48'), '10680', INET_ATON('194.242.204.171'), 'ClonyX', 'Video', 'Wallhack', 'He was wallhacking', '2010-08-27', 'Reloaded', INET_ATON('68.7.169.149'), '1');
=========
End SQL
The query works fine in the MySQL monitor/out of php. I dont know what in the PHP code is messed up.
Code
========
// Get global variables
global $db, $elitePrefix, $mainTableClass, $tableHead, $ipBansTableID;
// Query database (uses a custom class)
$result = $db->sql_query("SELECT *, INET_NTOA(banned_ip) AS banned_ip FROM $elitePrefix"."_game_bans");
// Get number of results
$numResults = $db->sql_numrows($result);
// Just a function that opens up a table for layout
OpenTable();
echo "<table .... >";
....
// Start a for loop to loop through each record and echo column data from each
for($a = 0; $a < $numResults; $a++) {
// Fetch each record
$row = $db->sql_fetchrow($result);
echo "<tr><td><div style=\"text-align: center;\">$row[banned_player_name]</div></td><td><div style=\"text-align: center;\">$row[banned_ip]</div></td><td><div style=\"text-align: center;\">$row[banned_reason]</div></td><td><div style=\"text-align: center;\">$row[admin_name]</div></td><td><div style=\"text-align: center;\">$row[banned_date]</div></td></tr>";
}
....
CloseTable();
==========
End Code
SQL
======
CREATE TABLE elite_game_bans (
ban_id TINYINT UNSIGNED AUTO_INCREMENT NOT NULL,
game CHAR(100) NOT NULL,
server_name CHAR(100) NOT NULL,
server_ip INT UNSIGNED NOT NULL,
server_port SMALLINT(5) UNSIGNED NOT NULL,
banned_ip INT UNSIGNED NOT NULL,
banned_player_name CHAR(100) NOT NULL,
banned_proof_type CHAR(100) NOT NULL,
banned_reason TINYTEXT NOT NULL,
banned_description TEXT NOT NULL,
banned_date DATE NOT NULL,
admin_name CHAR(100) NOT NULL,
admin_ip TINYINT UNSIGNED NOT NULL,
status TINYINT(1) UNSIGNED NOT NULL,
PRIMARY KEY (ban_id),
FOREIGN KEY (game) REFERENCES elite_supported_games(game_name_short)
);
INSERT INTO elite_game_bans VALUES('', 'swat4', '|ELITE|', INET_ATON('89.238.160.48'), '10680', INET_ATON('194.242.204.171'), 'ClonyX', 'Video', 'Wallhack', 'He was wallhacking', '2010-08-27', 'Reloaded', INET_ATON('68.7.169.149'), '1');
=========
End SQL
The query works fine in the MySQL monitor/out of php. I dont know what in the PHP code is messed up.