mysql error handle

B

Barabule Muci

Hello,
I am making an connection with mysql
Mysql.real_connect("127.0.0.1","root","","f_juso","3306")

The problem is when the user and pass is correct it works very well but
when the user and pass is wrong it display the debugger and display the
message:
Mysql::Error in ComenziController#login
Access denied for user 'roots'@'localhost' (using password: NO)
and all that ruby debugger stuff.

I wan't to get the error in ruby and to display only my message like
"Invalid password."
It's help me, because i have made an login script and i wan't to check
the user and password by connecting on mysql with that user and
password.
Thanks
 
A

Alex Young

Barabule said:
Hello,
I am making an connection with mysql
Mysql.real_connect("127.0.0.1","root","","f_juso","3306")

The problem is when the user and pass is correct it works very well but
when the user and pass is wrong it display the debugger and display the
message:
Mysql::Error in ComenziController#login
Access denied for user 'roots'@'localhost' (using password: NO)
and all that ruby debugger stuff.

I wan't to get the error in ruby and to display only my message like
"Invalid password."
It's help me, because i have made an login script and i wan't to check
the user and password by connecting on mysql with that user and
password.
Thanks
Mysql::Error is an exception, so you should just be able to rescue it
and move on:

conn = nil
begin
conn = Mysql.real_connect("127.0.0.1","root","","f_juso","3306")
# do something with the connection
rescue Mysql::Error => e
puts "Invalid password"
end
 
B

Barabule Muci

I try before but i get this message:

C:/work/aplicatie/app/controllers/comenzi_controller.rb:32: parse error,
unexpected kRESCUE, expecting kEND
rescue Mysql::Error => e
^
C:/work/aplicatie/app/controllers/comenzi_controller.rb:32: parse error,
unexpected tASSOC
rescue Mysql::Error => e
^
C:/work/aplicatie/app/controllers/comenzi_controller.rb:43: parse error,
unexpected kEND, expecting $
 
M

Michael W. Ryder

Barabule said:
Hello,
I am making an connection with mysql
Mysql.real_connect("127.0.0.1","root","","f_juso","3306")

The problem is when the user and pass is correct it works very well but
when the user and pass is wrong it display the debugger and display the
message:
Mysql::Error in ComenziController#login
Access denied for user 'roots'@'localhost' (using password: NO)
and all that ruby debugger stuff.

I wan't to get the error in ruby and to display only my message like
"Invalid password."
It's help me, because i have made an login script and i wan't to check
the user and password by connecting on mysql with that user and
password.
Thanks

Couldn't you create a separate account with a single table with only the
user names and passwords in it? This way you can use a set login to
access this account and check if the user account is in the table. If
it exists then check the password. If the information is correct
continue with logging into the desired database otherwise display the
error message of your choice.
 
B

Barabule Muci

No i create users on mysql with rights on tables, this is why i chose
this metode.
Every user has a table that can acces.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,774
Messages
2,569,600
Members
45,179
Latest member
pkhumanis73
Top