Web Analytics Made Easy -
StatCounter errors with connecting code - CodingForum

Announcement

Collapse
No announcement yet.

errors with connecting code

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • errors with connecting code

    Hi folks

    Everything works on the result page, but saving to database, for some reason I get these errors on the result page, yet I know, all the database login info is correct.

    PHP Code:
    Warningmysql_connect() [function.mysql-connect]: Access denied for user 'XXXXX@'localhost' (using password: YES) in /home/.../results.php on line 16
    Warning: mysql_select_db(): supplied argument is not a valid MySQL-Link resource in /home/.../results.php on line 17
    Warning: mysql_query(): supplied argument is not a valid MySQL-Link resource in /home/.../results.php on line 31 
    Below is my complete results page
    PHP Code:
    // Complete results.php
    require("common.php");
    ReadConfig("speedtest.cfg");

    ## Save the results of this test to the database, if enabled
    if($config->{'database'}->{'enable'}) {
        
    $ip_matches $config->{'database'}->{'ip_matches'};
        if( (! 
    $ip_matches) || ($ip_matches && preg_match("/$ip_matches/",$_SERVER['REMOTE_ADDR'])) ) {
            
    Debug("Saving to database");
            
    $dbh mysql_connect(
                
    $config->{'database'}->{'host'},
                
    $config->{'database'}->{'user'},
                
    $config->{'database'}->{'password'}
            );
            
    $dbs mysql_select_db$config->{'database'}->{'database'}, $dbh);
            
    $table $config->{'database'}->{'table'};
            
    $ip $_SERVER['REMOTE_ADDR'];
            
    $upspeed addslashes($_GET['upspeed']);
            
    $downspeed addslashes($_GET['downspeed']);
            
    $sql "
                INSERT INTO `
    $table`
                SET
                    `ip_string` =  '
    $ip',
                    `ip` = INET_ATON('
    $ip'),
                    `timestamp` = NOW(),
                    `upspeed` = '
    $upspeed',
                    `downspeed` = '
    $downspeed'
            "
    ;
            
    mysql_query($sql,$dbh);
        }


    PHP Code:
    // this function located in common.php
    function ReadConfig($config_file) {
        global 
    $config;
        
    $lines file($config_file);
        foreach (
    $lines as $line_num => $line) {
            
    $line rtrim(preg_replace("/#.*/","",$line));
            if(
    preg_match("/\[.*\]/"$line$parts)) {
                
    $section $parts[0];
                
    $section preg_replace("/[\[\]]/","",$section);
            } elseif (
    preg_match("/=/",$line)) {
                list(
    $var,$value) = split('=',$line);
                
    $var preg_replace('/ $/','',$var);
                
    $value preg_replace('/^ +/','',$value);
                
    $config->{$section}->{$var} = $value;
            }
        }

    and below is my settings from speedtest.cfg
    Code:
    ## Set to 1 to enable
    enable = 1
    host = localhost
    database = testdb
    user = testuser
    password = testpass
    table = testtable
    
    ## Regular expression to match to save results to the database
    ip_matches =
    Last edited by sonny; Sep 9, 2011, 10:44 PM.

  • #2
    Don't even need to go over the code; the error is very clear:
    Code:
    Warning: mysql_connect() [function.mysql-connect]: Access denied for user 'XXXXX@'localhost (using password: YES) in /home/.../results.php on line 16
    Now, you specify that the user is valid, BUT! Are you sure its valid for 'XXXXX'@localhost and not just 'XXXXX'@%? These are distinct user accounts depending on if the connection is local or remote.
    PHP Code:
    header('HTTP/1.1 420 Enhance Your Calm'); 
    Been gone for a few months, and haven't programmed in that long of a time. Meh, I'll wing it ;)

    Comment


    • #3
      Originally posted by Fou-Lu View Post
      Don't even need to go over the code; the error is very clear:
      Code:
      Warning: mysql_connect() [function.mysql-connect]: Access denied for user 'XXXXX@'localhost (using password: YES) in /home/.../results.php on line 16
      Now, you specify that the user is valid, BUT! Are you sure its valid for 'XXXXX'@localhost and not just 'XXXXX'@%? These are distinct user accounts depending on if the connection is local or remote.
      Hi Fou

      That user error was just redacted, before posting
      I just double checked again, login info is correct

      I thought the problem was in the code somewhere

      Sonny

      Comment


      • #4
        So, the problem is fixed then yes? The only error you have here is with a connection to the database (although I am relying on the error reporting to state the error).
        PHP Code:
        header('HTTP/1.1 420 Enhance Your Calm'); 
        Been gone for a few months, and haven't programmed in that long of a time. Meh, I'll wing it ;)

        Comment


        • #5
          Originally posted by Fou-Lu View Post
          So, the problem is fixed then yes? The only error you have here is with a connection to the database (although I am relying on the error reporting to state the error).
          No, I didn't get this yet, this is unreal, I have been working with complex functions all night, and the one thing that stumps me, is connecting to a simple database. I am going to close this notebook, make some coffee. and take another fresh look later.

          Thanks
          Sonny

          Comment


          • #6
            Then we go back to post #2.
            The problem is the user you have specified does NOT have privileges on this database server. I mentioned as well that there is a difference between user@localhost and user@%. You must ensure that the user has been provided correctly for localhost and not just for %.
            Also, make sure you dump your $config to verify that the data in it is correct. It doesn't look like it should be to me; these are using object dereferencing, but I don't see anywhere that these have been created as objects.
            Last edited by Fou-Lu; Sep 10, 2011, 02:04 AM.
            PHP Code:
            header('HTTP/1.1 420 Enhance Your Calm'); 
            Been gone for a few months, and haven't programmed in that long of a time. Meh, I'll wing it ;)

            Comment


            • #7
              This works with another test script using that same database
              its the same login info

              PHP Code:
              $db['host'] = 'localhost';
              $db['user'] = 'testuser';
              $db['pass'] = 'testpass';
              $db['db'] = 'testdb'
              Thanks
              Sonny

              Comment


              • #8
                And the dump of $config is?
                PHP Code:
                header('HTTP/1.1 420 Enhance Your Calm'); 
                Been gone for a few months, and haven't programmed in that long of a time. Meh, I'll wing it ;)

                Comment


                • #9
                  Originally posted by Fou-Lu View Post
                  And the dump of $config is?
                  How do I do that? I don't understand

                  Sonny

                  Comment


                  • #10
                    var_dump($config);
                    PHP Code:
                    header('HTTP/1.1 420 Enhance Your Calm'); 
                    Been gone for a few months, and haven't programmed in that long of a time. Meh, I'll wing it ;)

                    Comment


                    • #11
                      Originally posted by Fou-Lu View Post
                      var_dump($config);
                      Fixed it, just forgot to post back, it was something I had going for security
                      reasons that was striping certain symbols from the password.

                      Thanks as always
                      Sonny

                      Comment

                      Working...
                      X
                      😀
                      🥰
                      🤢
                      😎
                      😡
                      👍
                      👎