Entendendo "Aviso: mysqli_query() espera que o parâmetro 1 seja MySQLi, nulo fornecido em" Erro
Em sua tentativa de criar um arquivo personalizado CMS, você encontrou a seguinte mensagem de erro:
"Aviso: mysqli_query() espera que o parâmetro 1 seja MySQLi, dado nulo in"
Causa do erro
Este erro indica que a função mysqli_query(), que executa consultas SQL, espera um objeto MySQLi como seu primeiro parâmetro. No entanto, em sua função getPosts(), você está passando um valor nulo em vez de um objeto MySQLi.
Solução
A solução para esse problema é garantir que o O objeto $con MySQLi está dentro do escopo da função getPosts(). No seu código, $con é definido no escopo global, mas não é acessível dentro da função.
Passando o objeto MySQLi como uma dependência
Uma maneira de endereço isso é para passar o objeto MySQLi para a função getPosts() como uma dependência. Veja como você pode fazer isso:
function getPosts(mysqli $con) { // etc }
Ao tornar o objeto MySQLi um parâmetro da função, você garante que ele esteja disponível dentro do escopo da função e possa ser usado por mysqli_query().
Recomendações adicionais
Além de resolver o problema de definição do escopo, considere implementar as seguintes recomendações:
Aqui está um exemplo de como implementar estas recomendações:
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT); // throw exceptions $con=mysqli_connect("localhost","xxxx","xxxx","xxxxx"); if (!$con) { throw new Exception("Failed to connect to MySQL: " . mysqli_connect_error()); } getPosts($con);
Ao implementar essas recomendações, você pode garantir a robustez e a confiabilidade do seu CMS personalizado.
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3