gpt4 book ai didi

php mysqli_query 拒绝用户访问

转载 作者:行者123 更新时间:2023-11-29 00:15:24 25 4
gpt4 key购买 nike

好吧,我完全被难住了。我已经设置了一个 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 是怎么回事?

最佳答案

这真是太蠢了,但我想出了我的问题,我忘记了 LOAD DATA 查询中的 local 关键字。如果没有 local 关键字,MySQL 服务器会认为我正在尝试访问服务器上的文件,而不是本地主机上的文件。当然,在这种情况下,Amazon 可能出于某种原因将此功能锁定在他们的 RDS 实例上;因此出现了 Access Denied 问题。

关于php mysqli_query 拒绝用户访问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23156519/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com