By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
435,144 Members | 849 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 435,144 IT Pros & Developers. It's quick & easy.

Access Denied (using password 'YES')

P: 40
Hi all,

I've got a mySQL database I've been working with as my localhost for several months now, no connection problems. I'm at the point however, where I need to connect to the database from another site / different IP address.

I'm playing around in the PayPal sandbox, and I'm running an instant payment notification php script before the user exits. The included connection file looks like this:

Expand|Select|Wrap|Line Numbers
  1. <?php
  2. $hostname_TFATP = '';  // (used to be localhost)
  3. $database_TFATP = 'mydatabase_TFATP';
  4. $username_TFATP = 'mydatabase_danny';
  5. $password_TFATP = 'christmas123';
  6. $TFATP = mysql_pconnect($hostname_TFATP, $username_TFATP, $password_TFATP) or trigger_error(mysql_error(),E_USER_ERROR); 
  7. ?>
So far so good, right? My ipn.php script runs fine until it gets to the point where it needs to connect to my database. Then, in the error log, I see the following:

PHP Warning: mysql_pconnect() [<a href='function.mysql-pconnect'>function.mysql-pconnect</a>]: Access denied for user 'mydatabase_danny'@'' (using password: YES) in /home/mydatabase/public_html/Connections/TFATP_paypal.php on line 9

So I read up on this. I find out I need to allow the host access to my database, so I go into the ACCESS HOSTS portion of the mySQL account maintenance and I add the following address: 66.135.197.% All PayPal addresses start with 66.135.197 and I throw the wild card in at the end. But I still get the error.

Someone suggested I make sure there was no 'bind' address in my mySQL config file, but I couldn't find that file. So I called HostGator (my host) and asked them about it. They assured me they don't use binds, so that was a dead end.

For giggles I decided to temporarily allow ALL addresses access to my database by entering all wildcards of %.%.%.% under the access hosts. When I ran through the process this time, I got a different error:

[20-Dec-2007 11:38:21] PHP Fatal error: Call to undefined function: dbquery() in /home/mydatabase/public_html/include/paypal/ipn.php on line 27

The lines leading up to line 27 of that script look like this:

Expand|Select|Wrap|Line Numbers
  1. <?php
  2. line 20        require_once('../../Connections/TFATP_paypal.php');
  3. line 21
  4. line 22          // check that the invoice has not been previously processed
  5. line 23         $sql = "SELECT status
  6. line 24         FROM tbl_order
  7. line 25         WHERE order_id = {$_POST['invoice']}";
  8. line 26
  9. line 27         $result = dbQuery($sql);

Does this mean it got past the connect part and blew up on the dbquery? Can I safely assume it connected?

Can anyone offer up any other solution to my connection problem, other than wildcarding the entire world access to my database? Because that's just not gonna fly.

Thanks in advance!
Dec 20 '07 #1
Share this question for a faster answer!
Share on Google+

Post your reply

Sign in to post your reply or Sign up for a free account.