My Query SELECT * from users where user_id='$keyword' OR username='$keyword' OR email='$keyword' OR skype='$keyword' OR balance='$keyword' OR spent='$keyword' OR status='$keyword' OR created='$keyword' OR last_auth='$keyword'
Problem
Returning random rows
Use LIKE instead of trying to get the exact value.
SELECT * from users where user_id LIKE '%$keyword' OR username LIKE '%$keyword%' OR email LIKE '%$keyword%' OR skype LIKE '%$keyword%' OR balance LIKE '%$keyword%' OR spent LIKE '%$keyword%' OR status LIKE '%$keyword%' OR created LIKE '%$keyword%' OR last_auth LIKE '%$keyword%'
If you are using LIKE on a number field use:
CAST(user_id AS CHAR) LIKE '%keyword%'