I'm doing this simple website, and I have run into this error:
My function:
<?php
function user_exists($username)
{
$username = sanitize($username);
$query = mysqli_query($connect, "SELECT COUNT(`user_id`) FROM `users` WHERE `username` = '$username'");
return (mysqli_result($query, === 0) 1) ? true : false;
}
?>
My php error log:
PHP Parse error:
syntax error, unexpected '===' (T_IS_IDENTICAL) in function on line 6
Line 6 is the return line.
I understand what a syntax error means, but I'm quite sure that the '==='
is not the problem.
Edit : I was only talking about the ternary condition and this answer is false because the
mysqli_result()
function doesn't exist.I guess you are trying to do this :
And as Marcel Korpel said, use prepared statements to avoid security flaws.
You have a few problems here. First of all there is no
mysqli_result()
, it does not exist. Instead you can fetch the row like below. Also your$connect
is out of scope. You need to pass it as an argument, and as the comments point out even ifmysqli_result()
did exist, it still wouldn't work because of the syntax error.I assume your
sanitize()
is doingmysqli_real_escape_string()
. For best security, switch to a Prepared Statement.