Jump to content
larry29936

SQL Query Problem

Recommended Posts

Posted (edited)

I'm trying to get an id for a row in a lookup table based on an ip address. All ip's are stored as the result inet_aton(ip) in fields that are varbinary(16). The lookup table has ip ranges (start_ip and end_ip) and countries associated with the range. 1219006512 is the inet_aton value of a user's ip address. When I run the following query in phpmyadmin, I'm getting multiple rows. I get multiple rows with a different result set if I run the query in mysql in the terminal. Query follows:

SELECT * FROM lookup WHERE ('1219006512' >= start_ip and '1219006512'<= end_ip);

What am I doing wrong?

Edited by larry29936

Share this post


Link to post
Share on other sites

start_id and end_id are varbinary(16)

'1219006512' isn't.

Share this post


Link to post
Share on other sites

@Barand - that's what I copied from the ip_address field of the user. Are you saying that inet_aton(user_ip) failed or that putting it in single quotes was wrong?

Share this post


Link to post
Share on other sites

inet_aton() does not produce varbinary(16). The manual is available online should you ever want to consult it.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.