PHP / MYSQL无法连接数据库

时间:2016-06-02 22:25:16

标签: php mysql

我最近将带有MYSQL数据库的网站迁移到了新服务器。 问题是旧服务器使用的是子域名,配置文件仍然指向sub.domain。我尝试了很多方法,但无法连接数据库。

我认为问题是数据库仍在尝试使用sub.domain名称。而不是新服务器上的新域。我尝试删除对WHERE subdomain =的引用,但我仍然无法连接到数据库。

任何帮助将不胜感激。在下面配置文件信息。

<?php
// Database settings
$database               = array();
$database['host']       = "localhost";
$database['user']       = "***********";
$database['password']   = "***********";
$database['database']   = "***********";
#echo "<h1>".$_SERVER['SERVER_NAME']."</h1>";die();
define('SITE_MAIN', 'dessinsllcportal.com');
if (!(mysql_connect($database['host'], $database['user'], $database['password'])))
    crash_q();
if (!(mysql_select_db($database['database'])))
    crash_q();
    mysql_query("SET NAMES 'utf8'");
    $ref = explode('.', $_SERVER['SERVER_NAME']);
    $query = "SELECT * FROM sites WHERE subdomain='".$ref[0]."'";
if (($result = mysql_query($query)))
{
    $dbRow = mysql_fetch_assoc($result);
    define('FM_HOST',  $dbRow['host']);
    define('FM_FILE',  $dbRow['file']);
    define('SITE_URL', 'http://'.$dbRow['subdomain'].SITE_MAIN);
}else{
    define('FM_HOST', '');
    define('FM_FILE', '');
    define('SITE_URL', 'http://'.$dbRow['subdomain'].SITE_MAIN);
}
define('FM_USER', 'PHPuser');
define('FM_PASS', 'inter10r');
define('USER_LAYOUT', 'PHP_User');
define('SMARTY_DIR', '/var/www/clients/client120/web138/web/smarty/');
define('APP_FULL_PATH', '/var/www/clients/client120/web138/web');

1 个答案:

答案 0 :(得分:1)

从错误消息中,您似乎忘记移动定义函数crash_q()的文件,或者可能意外删除了包含定义它的文件,或者可能意外地从代码中删除了其定义。跟踪定义crash_q()的位置,并确保代码中的定义可用。如果找不到,可以添加

function crash_q()
{
  die("Fatal error:".mysql_error());
}

事实上,如果您的旧crash_q()信息量不大,那么您现在应该使用这个进行调试(但是为了安全起见,将其更改为登录到文件一旦一切正常)。然后看看MySQL的错误是什么,并从那里开始。