PHP 没有打印任何东西
PHP is not printing anything
我有一个包含 php 的 html 文件,它应该查询 MYSQL 数据库以获取有关前 25 名玩家的击杀死亡等信息。
但是页面一直加载空白,我无法弄清楚出了什么问题。
数据库中确实有很多条目。
托管此文件的服务器也安装了 PHP。
有人可以告诉我问题出在哪里或告诉我可能导致此问题的原因吗?
干杯
代码:
<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title></title>
</head>
<body>
<?php
require_once( "connect.php" );
$select_top_25 = "
SELECT `stats_players`.`name`,
`stats_total_pvp_kills`.`times`,
`stats_total_deaths`.`times`
FROM `stats_players`
INNER JOIN `stats_total_pvp_kills`
BY `stats_players`.`player_id` = `stats_total_pvp_kills`.`player_id`
INNER JOIN `stats_total_deaths`
BY `stats_players`.`player_id` = `stats_total_deaths`.`player_id`
ORDER BY `stats_total_pvp_kills`.`times` ASC LIMIT 25";
$result = mysqli_query($link, $select_top_25) or die (mysqli_error($link));
$counter = 0;
while($row = mysqli_fetch_row($result))
{
$counter = $counter + 1;
print '#'.$counter;
print 'Name: '.$row[0];
print 'Kills: '.$row[1];
print 'Deaths: '.$row[2];
}
?>
</body>
</html>
尝试用ON[=20=替换BY ] 像这样:
SELECT `stats_players`.`name`,
`stats_total_pvp_kills`.`times`,
`stats_total_deaths`.`times`
FROM `stats_players`
INNER JOIN `stats_total_pvp_kills`
ON `stats_players`.`player_id` = `stats_total_pvp_kills`.`player_id`
INNER JOIN `stats_total_deaths`
ON `stats_players`.`player_id` = `stats_total_deaths`.`player_id`
ORDER BY `stats_total_pvp_kills`.`times` ASC LIMIT 25
这会有所帮助。
通常对于这种情况,当您不确定实际错误是什么时,您应该逐步调试脚本,在这里您需要检查的第一件事是,在执行任何操作之前回显任何简单文本 mySql 东西。
意味着在包含 connect.php 之前你应该做 echo 'hii'; exit;
和 运行 它。如果它显示正确,那么您可以继续检查我的 sql 查询和结果
这里可能出现的问题是
- 您保存的文件扩展名为
html
而不是扩展名为 PHP
- 由于任何原因mysql查询没有结果
可能的原因:
- 您的文件是
.html
而不是 .php
文件
- 您没有 apache 运行(如果是本地的)
- 您没有在正确的目录中(如果它的本地和 apache 是 运行)
- 文件包含有问题 (connect.php)
- 没有数据库连接
- 未设置变量
$link
- 您的 mysql 语法错误(它的 INNER JOIN ... ON ... 不是 BY )
- 你的mysql没有结果
- 由于
php.ini
设置 ,未显示任何错误
我有一个包含 php 的 html 文件,它应该查询 MYSQL 数据库以获取有关前 25 名玩家的击杀死亡等信息。 但是页面一直加载空白,我无法弄清楚出了什么问题。 数据库中确实有很多条目。 托管此文件的服务器也安装了 PHP。 有人可以告诉我问题出在哪里或告诉我可能导致此问题的原因吗? 干杯 代码:
<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title></title>
</head>
<body>
<?php
require_once( "connect.php" );
$select_top_25 = "
SELECT `stats_players`.`name`,
`stats_total_pvp_kills`.`times`,
`stats_total_deaths`.`times`
FROM `stats_players`
INNER JOIN `stats_total_pvp_kills`
BY `stats_players`.`player_id` = `stats_total_pvp_kills`.`player_id`
INNER JOIN `stats_total_deaths`
BY `stats_players`.`player_id` = `stats_total_deaths`.`player_id`
ORDER BY `stats_total_pvp_kills`.`times` ASC LIMIT 25";
$result = mysqli_query($link, $select_top_25) or die (mysqli_error($link));
$counter = 0;
while($row = mysqli_fetch_row($result))
{
$counter = $counter + 1;
print '#'.$counter;
print 'Name: '.$row[0];
print 'Kills: '.$row[1];
print 'Deaths: '.$row[2];
}
?>
</body>
</html>
尝试用ON[=20=替换BY ] 像这样:
SELECT `stats_players`.`name`,
`stats_total_pvp_kills`.`times`,
`stats_total_deaths`.`times`
FROM `stats_players`
INNER JOIN `stats_total_pvp_kills`
ON `stats_players`.`player_id` = `stats_total_pvp_kills`.`player_id`
INNER JOIN `stats_total_deaths`
ON `stats_players`.`player_id` = `stats_total_deaths`.`player_id`
ORDER BY `stats_total_pvp_kills`.`times` ASC LIMIT 25
这会有所帮助。
通常对于这种情况,当您不确定实际错误是什么时,您应该逐步调试脚本,在这里您需要检查的第一件事是,在执行任何操作之前回显任何简单文本 mySql 东西。
意味着在包含 connect.php 之前你应该做 echo 'hii'; exit;
和 运行 它。如果它显示正确,那么您可以继续检查我的 sql 查询和结果
这里可能出现的问题是
- 您保存的文件扩展名为
html
而不是扩展名为PHP
- 由于任何原因mysql查询没有结果
可能的原因:
- 您的文件是
.html
而不是.php
文件 - 您没有 apache 运行(如果是本地的)
- 您没有在正确的目录中(如果它的本地和 apache 是 运行)
- 文件包含有问题 (connect.php)
- 没有数据库连接
- 未设置变量
$link
- 您的 mysql 语法错误(它的 INNER JOIN ... ON ... 不是 BY )
- 你的mysql没有结果
- 由于
php.ini
设置 ,未显示任何错误