Хорошо, я здесь в тупике. Я установил AWS RDS (бесплатный уровень) и протестировал соединение через терминал Mac OS X, и я могу подключиться отлично.
Я также могу выдать заявление о соединении с php (которое, похоже, работает) следующим образом:
$this -> _mysqli = new mysqli( );
$this -> _mysqli -> init( );
$this -> _mysqli -> options(MYSQLI_OPT_LOCAL_INFILE, true);
$this -> _mysqli -> real_connect($host, $username, $password, $db, $port);
print_r( $this -> _mysqli );
/*print_r returns*/
mysqli Object (
[affected_rows] => 0
[client_info] => 5.5.33
[client_version] => 50533
[connect_errno] => 0
[connect_error] =>
[errno] => 0
[error] =>
[error_list] => Array ( )
[field_count] => 0
[host_info] => sadmicrowave-dev.*****.*****-****.rds.amazonaws.com via TCP/IP
[info] =>
[insert_id] => 0
[server_info] => 5.6.13
[server_version] => 50613
[stat] => Uptime: 26448 Threads: 3 Questions: 27070 Slow queries: 0 Opens: 1962 Flush tables: 1 Open tables: 98 Queries per second avg: 1.023
[sqlstate] => 00000
[protocol_version] => 10
[thread_id] => 122
[warning_count] => 0 )
Что, кажется, указывает мне на то, что соединение удалось; верно? После этого долгого знакомства с моей системой возникла моя проблема. Далее в моем классе у меня есть метод отправки запроса; это выглядит так:
$q = mysqli_query(
$this -> _mysqli,
"LOAD DATA INFILE '$FILE'
IGNORE INTO TABLE `php-challenge-apr-2014`
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '\"'
LINES TERMINATED BY '\n'
IGNORE 1 LINES"
);
Но этот запрос возвращает следующую ошибку (несмотря на то, что я работаю в том же экземпляре класса, что означает, что $this -> _mysqli
уже был установлен в операторе подключения выше)
Access denied for user 'sadmicrowave'@'%' (using password: YES)]"}
Что за F происходит?
FILE
разрешения. Я еще являюсь администратором сервера, когда запускаю:GRANT FILE ON
challenge.* TO sadmicrowave@'%' identified by '*******';
на RDS, я получаюERROR 1045 (28000): Access denied for user 'sadmicrowave'@'%' (using password: YES)
- person sadmicrowave   schedule 18.04.2014