Forums
This topic is locked
Can't connect to local MySQL server through socket
Posted 14 Dec 2011 17:17:05
1
has voted
14 Dec 2011 17:17:05 miguel angel posted:
I Have these error and I can't login to my admin page because of that.Warning: mysql_connect() [function.mysql-connect]: Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2) in /var/www.sit.com/lib/adodb5/drivers/adodb-mysql.inc.php on line 364
Fatal error: Call to a member function SetFetchMode() on a non-object in /var/www.sit.com/core/db.php on line 12
adodb-mysql.inc.php
/ returns concatenated string
// much easier to run "mysqld --ansi" or "mysqld --sql-mode=PIPES_AS_CONCAT" and use || operator
function Concat()
{
$s = "";
$arr = func_get_args();
// suggestion by andrew005@mnogo.ru
$s = implode(',',$arr);
if (strlen($s) > 0) return "CONCAT($s)";
else return '';
}
function OffsetDate($dayFraction,$date=false)
{
if (!$date) $date = $this->sysDate;
$fraction = $dayFraction * 24 * 3600;
return $date . ' + INTERVAL ' . $fraction.' SECOND';
// return "from_unixtime(unix_timestamp($date)+$fraction)";
}
// returns true or false
function _connect($argHostname, $argUsername, $argPassword, $argDatabasename)
{
if (!empty($this->port)) $argHostname .= ":".$this->port;
if (ADODB_PHPVER >= 0x4300)
$this->_connectionID = mysql_connect($argHostname,$argUsername,$argPassword,
$this->forceNewConnect,$this->clientFlags); LINE 364
else if (ADODB_PHPVER >= 0x4200)
$this->_connectionID = mysql_connect($argHostname,$argUsername,$argPassword,
$this->forceNewConnect);
else
$this->_connectionID = mysql_connect($argHostname,$argUsername,$argPassword);
if ($this->_connectionID === false) return false;
if ($argDatabasename) return $this->SelectDB($argDatabasename);
return true;
}
db.php
<?php
class DB {
private static $instance = null;
public static function getInstance($dbname, $debug = false) {
if (!isset(self::$instance[$dbname]) || is_null(self::$instance[$dbname])) {
if (isset($GLOBALS['db'][$dbname])) {
$ADODB_COUNTRECS = false;
self::$instance[$dbname] = &ADONewConnection($GLOBALS['db'][$dbname]['dsn']);
self::$instance[$dbname]->SetFetchMode(ADODB_FETCH_ASSOC);
self::$instance[$dbname]->Execute("SET NAMES {$GLOBALS['db'][$dbname]['charset']}");
}
}
self::$instance[$dbname]->debug = $debug;
return self::$instance[$dbname];
}
}
?>
I've been pulling my hair with this problem, I really need to find the solution!
Replies
Replied 16 Dec 2011 11:20:42
16 Dec 2011 11:20:42 Patrick Woldberg replied:
the second error is a result of the first warning where it tells you it couldn't connect to the database. Check if the host, username and password etc. are correct.
