I am trying to bind a variable in this prepared statement, but i keep receiving the error:
Call to a member function bind_param() on a non-object
//CALL FROM PAGE ONE
//FUNCTION ON PAGE 2
$DBH = getDBH();
$qSelect = $DBH->prepare("SELECT * FROM users WHERE username = ?");
as the error-message says,
$qSelect seems to be not an object. try to debug this by using
var_dump($qSelect); right after your prepare-call. also check if
getDBH() returns what you need.
sounds like the prepare-call fails (don't know why) and so it returns
false is not an object, so you can't call
bind_param() on that.
EDIT: you havn't given the info, but it looks like you're using PHP's PDO. In that case, take a look at the documentation.
If the database server successfully prepares the statement, PDO::prepare() returns a PDOStatement object. If the database server cannot successfully prepare the statement, PDO::prepare() returns FALSE or emits PDOException (depending on error handling).
You should configure your server to return those PDO-Exceptions, which would tell you why the prepare call fails.