This question already has an answer here:
I'm currently learning PHP through tutorials and I am trying to run the following code but getting an unexplained syntax error which no one else seems to be having occur with them.
Error Message Parse error: syntax error, unexpected ';' in ..../users.php on line 12
Line 12 =
return (mysql_result(mysql_query("SELECT `user_id` FROM `users` WHERE `username` = '$username'"), 0, 'user_id');
Full page Code
<?php
function user_exists($username) {
$username = sanitize($username);
return (mysql_result(mysql_query("SELECT COUNT(`user_id`) FROM `users` WHERE `username` = '$username'"), 0) == 1) ? true : false;
}
function user_active($username) {
$username = sanitize($username);
return (mysql_result(mysql_query("SELECT COUNT(`user_id`) FROM `users` WHERE `username` = '$username' AND `active` =1"), 0) ==1) ? true : false;
}
function user_id_from_username ($username) {
$username = sanitize($username);
return (mysql_result(mysql_query("SELECT `user_id` FROM `users` WHERE `username` = '$username'"), 0, 'user_id');
}
function login ($username, $password) {
$user_id = user_id_from_username($username);
$username = sanitize($username);
$password = md5($password);
return(mysql_result(mysql_query("SELECT COUNT (`user_id`) FROM `users` WHERE `username` = '$username' AND `password` = '$password'"), 0) == 1) ? $user_id : false;
}
?>
</div>
One more closing round bracket.
/* v */
return (mysql_result(mysql_query("..."), 0, 'user_id')/* -> */)/* <- */;
/* ^ */
you are missing a closing parentheses ) you have 3 opening but only 2 closing...
Try this,
function user_id_from_username ($username) {
$username = sanitize($username);
return (mysql_result(
mysql_query(
"SELECT `user_id` FROM `users` WHERE `username` = '$username'"
), 0
), 'user_id');
}