所以情况是这样的,在localhost上似乎一切正常(mamp-pro),根本没有问题,但当我将其上传到服务器时,它会给我一个错误:
SQLSTATE[HY000] [2002] Connection refused
真的不知道这意味着什么,在网上搜索了一下,但没有找到解决方案。以下是我如何连接到数据库:
define("SERVER_SQL_VERSION","mysql");
define("SQL_SERVER","localhost");
define("SQL_PORT","3306");
define("SQL_USERNAME","userdb_new");
define("SQL_PASSWORD","92384923jjdhasj");
define("SQL_DB_NAME","usernew_db");
define('PREFIX', 'tb_');
if(!function_exists('pdoConnect')) {
function pdoConnect() {
$pdo = new PDO(SERVER_SQL_VERSION.":host=".SQL_SERVER.";dbname=".SQL_DB_NAME."", "".SQL_USERNAME."", "".SQL_PASSWORD."");
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$pdo->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
return $pdo;
}
}
$db = pdoConnect();
如有任何帮助,我们将不胜感激,谢谢。
所以我正在努力理解这一点:
$pdo = new PDO(SERVER_SQL_VERSION.":host=".SQL_SERVER.";dbname=".SQL_DB_NAME."", "".SQL_USERNAME."", "".SQL_PASSWORD."");
但我迷失在双引号中。他们在那里干什么?试试这个:
$dsn = SERVER_SQL_VERSION.':host='.SQL_SERVER.';dbname='.SQL_DB_NAME;
$pdo = new PDO($dsn,SQL_USERNAME,SQL_PASSWORD);