我正试图在phpmyadmin中使用MySQL为PHP项目创建数据库,并在windows 10上使用MAMP,然后创建数据库并创建新用户并尝试检查数据库连接。。它显示以下错误。。
数据库连接失败:无法连接到"localhost"(10061)(2003)上的MySQL服务器
我确实在论坛上查看了相关问题,并尝试了所有的技巧,但都没有奏效。。
我主要是Wordpress的开发人员,我可以像以前一样在Wordpress中创建一个新的数据库,但PHP给我带来了问题。。
请检查我的代码。。
config.php
<?php
// Database Constants
defined('DB_SERVER') ? null : define("DB_SERVER", "localhost");
defined('DB_USER') ? null : define("DB_USER", "pop234");
defined('DB_PASS') ? null : define("DB_PASS", "4JfQuuQnzU6yfPdm");
defined('DB_NAME') ? null : define("DB_NAME", "demo");
?>
database.php
<?php
require_once ('config.php');
class MYSQLDatabase {
private $connection;
function __construct() {
$this->open_connection();
}
public function open_connection() {
$this->connection = mysqli_connect(DB_SERVER, DB_USER, DB_PASS, DB_NAME);
if(mysqli_connect_errno()) {
die("Database connection failed: " .
mysqli_connect_error() .
" (" . mysqli_connect_errno() . ")"
);
}
}
}
$database = new MySQLDatabase();
$db =& $database;
?>
index.php
<?php
require_once('../includes/database.php');
if(isset($database)) { echo "true"; } else { echo "false"; }
echo "<br />";
?>
我还尝试过使用127.0.0.1:8889而不是localhost,就像我在WP程序中遇到数据库错误时所做的那样。。
请协助并告知
在期待中感谢你。。
<?php
// PHP Database Constants
defined('DB_SERVER') ? null : define("DB_SERVER", "localhost");
defined('DB_USER') ? null : define("DB_USER", "popat234");
defined('DB_PASS') ? null : define("DB_PASS", "4JfQuuQnzU6yfPdm");
defined('DB_NAME') ? null : define("DB_NAME", "demo");
// Wordprsss Database Constants
/** The name of the database for WordPress */
define('DB_NAME', 'demo');
/** MySQL database username */
define('DB_USER', 'popat234');
/** MySQL database password */
define('DB_PASSWORD', '4JfQuuQnzU6yfPdm');
/** MySQL hostname */
define('DB_HOST', '127.0.0.1:8889');
?>
DB_USER
在两种配置中有所不同。config.php
显示"pop234",wp-config.php
使用"popat234",这显然是正确的。
确保您的config.php
包含:
<?php
// Database Constants
defined('DB_SERVER') ? null : define("DB_SERVER", "127.0.0.1");
defined('DB_PORT') ? null : define("DB_PORT", "8889");
defined('DB_USER') ? null : define("DB_USER", "popat234");
defined('DB_PASS') ? null : define("DB_PASS", "4JfQuuQnzU6yfPdm");
defined('DB_NAME') ? null : define("DB_NAME", "demo");
同时将mysqli_connect()
行更正为:
$this->connection = mysqli_connect(DB_SERVER, DB_USER, DB_PASS, DB_NAME, DB_PORT);
尝试将您的端口从8889切换到3306,这解决了我的问题。这可能是因为Windows阻止了端口8889。