Tendo um problema com mysql e preparadas declarações
Pergunta
Eu tenho a seguinte função e sua falsa sempre retornando. Nem sequer tentar executar a instrução, eu sei porque eu mudei o $ query = "aldfjaf lkjfsk" e não retornar um erro para mim. Alguma sugestão?
class Mysql {
private $conn;
function __construct() {
$this->conn = new mysqli(DB_SERVER, DB_USER, DB_PASSWORD, DB_NAME) or
die('There was a problem connecting to the database.');
}
function verify_Username_and_Pass($un, $pwd) {
$query = "SELECT *
FROM user_table
WHERE login_username = ? AND login_password = ?";
if($stmt = $this->conn->prepare($query)) {
$stmt->bind_param('ss', $un, $pwd);
$stmt->execute();
if($stmt->fetch()) {
$stmt->close();
return true;
}
}
}
Solução
A sua não verificação de erro, tente o seguinte:
if($stmt->execute()) {
//code
}
else{
die($stmt->error);
}
ou
if($stmt = $this->conn->prepare($query)){
//code
}
else{
die($this->conn->error);
}
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow