My problem being this:
<?php
function user_exists($username) {
$username = sanitize($username);
return (mysql_result(mysql_query("SELECT_COUNT('user_id') FROM `user` WHERE `username` = '$username'"), 0) == 1) ? true : false;
}
?>
As you can see I have included my database name which IS correct and the user DOES exist and this is where I am calling it to pull from sql:
<?php
include 'core/init.php';
if (user_exists('dan') === true) {
echo 'exists';
}
die();
if (empty($_POST) === false) {
$username = $_POST['username'];
$password = $_POST['password'];
if(empty($username) === true || empty($password) === true {
$errors[] = 'You need to enter a username and password';
} else if (user_exists($username) === false) {
$errors[] = 'Sorry this user does not exist';
}
}
?>
I am not sure why I am getting a blank page and it isn's showing the message to say the user exists?
Aside from that silly typo in your query, the way you are using mysql API is indeed a terrible one.
Some critical flaws to be noted
What it should be at the very least
function user_exists($username) {
$username = sanitize($username); // remember it should add the quotes
$sql = "SELECT COUNT(1) FROM `user` WHERE `username` = $username";
$res = mysql_query($sql) or trigger_error(mysql_error().$sql);
$row = mysql_fetch_row($res);
return !empty($row[0]);
}
I am not sure why I am getting a blank page.
Most likely it is caused by some PHP error.
Either tell PHP to show them on-screen or peek into server error log to read the error message
Or there is no such user in the database.
So, make your code like this
<?php
ini_set('display_errors',1);
error_reporting(E_ALL);
echo "testing<br>";
include 'core/init.php';
if (user_exists('dan')) {
echo 'exists';
} else {
echo 'not found';
}
here might be your syntax error which could not be fire
(mysql_result(mysql_query("SELECT_COUNT('user_id') FROM `user` WHERE `username` = '$username'"), 0) == 1) ? true : false;
give space between SELECT COUNT
remove underscore "_" because it will give you mysql error
The problem is here
SELECT_COUNT('user_id')
^
should be
SELECT COUNT('user_id')