#1
  1. No Profile Picture
    Contributing User
    Devshed Newbie (0 - 499 posts)

    Join Date
    Apr 2000
    Posts
    79
    Rep Power
    15
    #!/usr/bin/perl
    use CGI;
    use DBI;
    $q=new CGI;
    $db="userdb";
    $host="localhost";
    $user="xxx";
    $password="xxxxxx";
    print $q->header;
    print "<h1>Database Test</h1>n";
    # --------------- CONNECT DATA IS OK --------------------
    $dbh = DBI->connect("DBI:mysql:database=$db;host=$host",$user, $password, {RaiseError => 1});
    print "<h1>CONNECT Database IS OK</h1>n";
    # --------------- Add new user IS Error ----------------------
    $sql="GRANT SELECT,INSERT,UPDATE,DELETE,INDEX ON userdb TO mama BY '123456'";
    $sth = $dbh->prepare($sql);

    $rv = $sth->execute; ------> Script Error

    #if($rv==0)
    #{
    # print "Error while add new user<br>";
    #}
    #else
    #{
    # print "<h1>Successfully added</h1><br>";
    #}
    #$rv = $sth->finish;

    # --------------- INSERT DATA IS OK ----------------------
    $sql="INSERT INTO test(id,time,txt) VALUES(0,'0000-00-00 00:00:00','Add it from CGI')";
    $sth = $dbh->prepare($sql);
    $rv = $sth->execute;
    if($rv==0)
    {
    print "Error while inserting recordsn";
    }
    else
    {
    print "<h1>Successfully inserted</h1>n";
    }
    $rv = $sth->finish;

    $dbh->disconnect;
    exit;

    [This message has been edited by rtna (edited May 24, 2000).]
  2. #2
  3. .Net Developer
    Devshed Novice (500 - 999 posts)

    Join Date
    Feb 2000
    Location
    London
    Posts
    987
    Rep Power
    15

    Are you using a registered MySQL version?

    What error you are getting?is it access denied or something?

    ########-###########-#########

    for granting a new user you will have to set some privilages in Mysql(scripts/mysql_install_db).also you must connect as the MySQL root user.Then only you will be able to grant a new user.

    #########---############-##########

    <<
    $sql="GRANT SELECT,INSERT,UPDATE,DELETE,INDEX ON userdb TO mama BY '123456'";
    >>


    i noticed one thing in this query.
    here you have not mentioned user(mama)can connect from which host.i don't know whether that may create some problem or not.


    i think it should be something like.

    mama@localhost- mama can only connect from local host.

    mama@'%'-mama can connect from all hosts.


    $sql="GRANT SELECT,INSERT,UPDATE,DELETE,INDEX ON userdb TO mama@localhost BY '123456'";


    ###########-##########-##########






    ------------------
    SR -
    shiju.dreamcenter.net

    "The fear of the LORD is the beginning of knowledge..."
  4. #3
  5. No Profile Picture
    Contributing User
    Devshed Newbie (0 - 499 posts)

    Join Date
    Apr 2000
    Posts
    79
    Rep Power
    15
    I use ./mysql to add a new user:
    mysql>GRANT ALL ON userdb TO baba@localhost BY '123456';
    ERROR 1064: You have an error in your SQL syntax near 'GRANT ALL ON userdb TO baba@localhost BY '123456'' at line 1
    ---------- What should I do now ?

IMN logo majestic logo threadwatch logo seochat tools logo