У меня проблема.
Я пытаюсь подключиться к MySQL-базы данных с этим паролем:
Test12&@_#+.:-;}][{$%!/()?
, * "` <>
public function __construct() {
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
if (isset($_POST['dbName'])) {
$this->dbName = $_POST['dbName'];
}
if (isset($_POST['dbUser'])) {
$this->dbUser = $_POST['dbUser'];
}
if (isset($_POST['dbPass'])) {
$this->dbPass = $_POST['dbPass'];
}
}
}
public function connectToDatabase() {
try {
$dsn = 'mysql:dbname=' . $this->dbName . ';host=' . $this->dbHost . ';charset=utf8';
$options = array(
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_OBJ,
);
$dbh = new PDO($dsn, $this->dbUser, $this->dbPass, $options);
$this->isConnected = TRUE;
} catch (PDOException $e) {
echo $e->getMessage();
$this->isConnected = FALSE;
}
}
я всегда получаю сообщение:
SQLSTATE [HY000] [1045] Доступ запрещен для пользователя 'web3_10' @ 'localhost' (с использованием пароля: YES)
Я думаю, что это из-за моего пароля overkill.
Как я могу заставить это работать?
Далее я должен импортировать дамп с этим:
public function importDatabase($dbTarget) {
$stmt = 'mysql --host=' . $this->dbHost . ' --user=' . $this->dbUser . ' --password=' . $this->dbPass . ' ' . $this->dbName . ' ' . '<' . ' ' . $dbTarget;
var_dump($stmt);
exec($stmt, $output, $return);
if (!$return) {
$this->dbImported = TRUE;
}
}
же проблема здесь. без импорта с этим паролем.
Как я могу это исправить?
... Я не уверен, что вы ожидаете от нас, чтобы использовать, вы используете неправильный пароль/и или ваш пользователь не имеет доступа к таблице/базе данных, к которой вы пытаетесь подключиться , мы не можем много сделать. – Epodax
Вы проверили, что ваша строка пароля содержит именно то, что вы ожидаете от нее? Поскольку вы используете одиночные и двойные кавычки и, например, знак '$', как вы его назначаете, это очень важно. – jeroen
где вы определили свой пароль * в своем коде *? вы избежали его правильно? можете ли вы войти в свой пароль с помощью mysql-консоли? можете ли вы использовать свой код, если вы установили свой пароль на что-то другое? –