When I do a SQL search in phpMyAdmin (substituting the variable for the actual value) it returns the correct row number but when using PHP to return this value it always returns 1 no matter what. Thanks in advance.
function user_exists($username) {
$link = mysqli_connect('localhost','root','','test');
$username = sanitize($username);
$query = mysqli_query($link, "SELECT COUNT(`user_id`) FROM `new_base` WHERE `username`='$username'");
$row_cnt = mysqli_num_rows($query);
echo $row_cnt;
mysqli_free_result($query);
mysqli_close($link);
}
Count retrives a single row. Try testing the SQL in phpmyadmin and see the result. This single row returned by the query has the number you are looking for.
I suggest also doing something like
This way you can access the via the 'user_matches' key.
*I would not recommend using SELECT * FROM ... * with the num_rows, this would be very slow compared to a count().
When you use
COUNT(*)
you always get one row returned even if the count is zero.You either:
count(*)
and then usemysqli_num_rows()
orcount(*)
.