Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock'
公司用的是一个国外的服务器,这几天把写好的php网站挂上去发现报错:
SQL statement execution error!,select * from t_user
Mysql error description: Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
Mysql error number: 2002
Date: 2009-11-23 @ 03:18
我的代码如下:
test.php:
<?php
include "class.mysql.php";
$dbhost = 'xxx';
$dbusername = 'xxx';
$dbpassword = 'xxx';
$dbname = 'xxx'; //Connection string(xxx) is no problem
$DB = new Mysql($dbhost, $dbusername, $dbpassword, $dbname);
$sql = "select * from t_user";
$query = $DB->query($sql);
while($row = $DB->fetch_array($query))
echo $row['username'].'-'.$row['password'];
?>
class.mysql.php:
<?php
class Mysql {
var $querycount = 0;
var $conn;
var $result;
function __construct($dbhost, $dbusername, $dbpassword, $dbname)
{
echo $dbhost.$dbusername.$dbpassword.$dbname;
if (!$this->conn = @ mysql_connect($dbhost, $dbusername, $dbpassword))
{
$this->halt('database connection failed!');
}
if ($this->varsion() > '4.1')
{
global $dbcharset;
mysql_query("SET NAMES 'utf8'");
}
if ($dbname)
{
mysql_select_db($dbname);
}
}
function query($sql)
{
$this->result = @ mysql_query($sql);
$this->querycount++;
if (!$this->result)
{
$this->halt('SQL statement execution error!,'.$sql);
}
return $this->result;
}
function fetch_array($query)
{
return mysql_fetch_array($query);
}
function fetch_assoc($query)
{
return mysql_fetch_assoc($query);
}
function fetch_row($query)
{
return mysql_fetch_row($query);
}
function num_rows($query)
{
return mysql_num_rows($query);
}
function varsion()
{
return mysql_get_server_info();
}
function geterrdesc()
{
return mysql_error();
}
function geterrno()
{
return intval(mysql_errno());
}
function halt($msg)
{
$message = "<html>\n<head>\n";
$message .= "<meta content=\"text/html; charset=utf-8\" http-equiv=\"Content-Type\">\n";
$message .= "<style type=\"text/css\">\n";
$message .= "body,p,pre {\n";
$message .= "font:12px Verdana;\n";
$message .= "}\n";
$message .= "</style>\n";
$message .= "</head>\n";
$message .= "<body bgcolor=\"#FFFFFF\" text=\"#000000\" link=\"#006699\" vlink=\"#5493B4\">\n";
$message .= "<p>Database Error:</p><pre><b>".htmlspecialchars($msg)."</b></pre>\n";
$message .= "<b>Mysql error description</b>: ".htmlspecialchars($this->geterrdesc())."\n<br />";
$message .= "<b>Mysql error number</b>: ".$this->geterrno()."\n<br />";
$message .= "<b>Date</b>: ".date("Y-m-d @ H:i")."\n<br />";
$message .= "<b>Script</b>: http://".$_SERVER['HTTP_HOST'].getenv("REQUEST_URI")."\n<br />";
$message .= "</body>\n</html>";
echo $message;
exit;
}
}
?>
数据库连接字符串是没有问题的.也不能操作服务器上的mysql.只能建自己的数据库、表
请大家一定帮忙! 我快要崩溃了!