Ainda estou aprendendo PHP e geralmente tenho conseguido resolver problemas apenas consultando a documentação e fóruns. Mas me apareceu um problema que não tô conseguindo solução.
Eu tinha esse código que faz uma consulta ao banco de dados:
$mysqli = new mysqli($servidor, $user, $senha, $banco);
if (mysqli_connect_errno()){
trigger_error(mysqli_connect_error());
}
$strSQL = "select `login`.* from `login`
where `login`.`email` = '" . $emailL . "'";
$query = $mysqli->query($strSQL);
$reg = $query->fetch_array();
A variável $reg recebia um array e isso sempre funcionou muito bem.
Então, para simplificar o código eu resolvi criar uma classe chamada crud com uma função chamada read para a leitura do banco. O código ficou assim:
public function read($strSQL){
$con = new mysqli($this->servidor, $this->user, $this->senha, $this->banco);
if (mysqli_connect_errno()){
trigger_error(mysqli_connect_error());
}
$query = $con->query($strSQL);
$reg = $query->fetch_array();
return $reg;
}
Agora sempre ocorre um erro na linha $reg = $query->fetch_array(); porque $query->fetch_array() retorna falso. Eu já vi na documentação que ele pode retornar falso se houver algum problema na consulta. Mas eu já fiz vários testes e não consegui identificar onde está o problema. Eu inclusive já coloquei a string de consulta diretamente na função no lugar da variável $strSQL. Essa string eu tenho certeza que está certa porque é exatamente a mesma do outro código que funcionava.