If you are going to be checking primality, you might as well pick an efficient algorithm.  As one answer (cryptically) pointed out, all even numbers greater than 2 are not prime.  Therefore, you can short-circuit the check for half the numbers, which doubles the speed to check any particular number:
function check_prime (x) 
  -- Negative numbers, 0 and 1 are not prime.
  if x < 2 then 
     return false
  end
  -- Primality for even numbers is easy.
  if x == 2 then
     return 2
  end
  if x%2 == 0 then
     return false
  end
  -- Since we have already considered the even numbers,
  -- see if the odd numbers are factors.
  for i = 3, math.sqrt(x), 2 do 
      if x%i == 0 then 
         return false
      end 
  end 
  return x 
end
There are all sorts of optimizations we could apply, but let's take a shot at doing this in a more Lua manner:
function sieve (x)
  if x < 2 then 
     return false
  end
  -- Assume all numbers are prime until proven not-prime.
  local prime = {}
  prime[1] = false
  for i = 2, x do 
      prime[i] = true 
  end 
  -- For each prime we find, mark all multiples as not-prime.
  for i = 2, math.sqrt(x) do
      if prime[i] then
         for j = i*i, x, i do
             prime[j] = false
         end
      end
  end
  return prime
end
To use the sieve function:
prime = sieve(number)
if prime[number] then
   print("Your number is prime!")
else
   print("Your number is not prime!")
end
In my tests, the sieve version is about 6 times faster than the previous algorithm for generating all the primes less than 1 million.  (Your mileage may vary.)  You can easily check the primality of all numbers less than number at no extra cost.  On the other hand, it uses more memory and if you really want check the primality of just one number, it's less efficient.