检查MySQL是否有效,然后返回。 如果没有,生成令牌

I have this table:

CREATE TABLE wp_tokens (
   ID int(12) NOT NULL AUTO_INCREMENT,
   USER varchar(128) NOT NULL COMMENT 'User name',
   TS timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
   IP varchar(64) NOT NULL,
   TOKEN varchar(128) NOT NULL COMMENT 'Hashed tokens',
   VALID (12),
   PRIMARY KEY (`ID`) 
)

And I want to check if a token exists for a user. If it exists, then it should return the token. If not, it should generate one.

Here is my PHP:

<?php
  global $wpdb;
  global $user_login;
  $token = uniqid();
  $hashedtoken = md5($token);
  $user = $user_login;
  $ip = $_SERVER['REMOTE_ADDR'];
  $valid = "1";
  $chkdb = mysql_query("SELECT valid FROM wp_tokens WHERE user=$user");

if(mysql_num_rows($chkdb) == 1)
{
    echo $hashedtoken;
}
else
    {
     $wpdb->insert('wp_tokens', 
     array('user' => $user, 'token' => $hashedtoken, 'ip' => $ip, 'valid' => $valid),
     array('%s','%s','%s'));    
    }
?>

It doesn't work and I cannot solve. It's being executed on Wordpress $wpdb should be working. Please help!