好的,我会尽量保持简短和重点。
该错误可以在http://www.hunterpdx.com/metro_new_copy/view-reports-test.php看到。
我在本地使用 DataTables-1.9.4,一切正常,但是一旦上传到我的主机服务器,我就会收到非常流行的 JSON 解析错误:
DataTables 警告(表 id = 'example'):DataTables 警告:无法解析来自服务器的 JSON 数据。这是由 JSON 格式错误引起的。
我在这里阅读了很多这些内容,并找到了很多很棒的建议;主要是如何定位问题。我查看了 Chrome 开发工具上的网络选项卡,并确定问题很简单:
警告:mysql_pconnect() [function.mysql-pconnect]:第 50 行 /home/metros9/public_html/hunterpdx.com/metro_new_copy/server_processing.php 中的用户 'username'@'localhost'(使用密码:NO)的访问被拒绝
警告:无法修改标头信息 - 标头已由 /home/metros9/public_html/hunterpdx.com/metro_new_copy/server_processing 中的(输出开始于 /home/metros9/public_html/hunterpdx.com/metro_new_copy/server_processing.php:50)发送。第 42 行的 php 无法打开与服务器的连接
在我看来,答案应该很简单:用户名或密码不正确。我的困惑(和问题)来自于它在本地工作得很好,但不是现场的。我使用 db.php 文件在我的实时站点上对多个 MySQL 查询使用相同的数据库连接信息,但由于某种原因,它不接受来自 server_processing.php 的相同信息。谁能告诉我为什么?我是新人,但在弄清楚事情方面非常方便......即使是其他要寻找的大致方向也将不胜感激!
server_processing.php
/* 数据库连接信息 */
$gaSQL['user'] = "*****";
$gaSQL['password'] = "*****";
$gaSQL['db'] = "*****";
$gaSQL['server'] = "localhost";
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* If you just want to use the basic configuration for DataTables with PHP server-side, there is
* no need to edit below this line
*/
/*
* Local functions
*/
function fatal_error ( $sErrorMessage = '' )
{
header( $_SERVER['SERVER_PROTOCOL'] .' 500 Internal Server Error' );
die( $sErrorMessage );
}
/*
* MySQL connection
*/
if ( ! $gaSql['link'] = mysql_pconnect( $gaSql['server'], $gaSql['user'], $gaSql['password'] ) )
{
fatal_error( 'Could not open connection to server' );
}
if ( ! mysql_select_db( $gaSql['db'], $gaSql['link'] ) )
{
fatal_error( 'Could not select database ' );
}