Comprender "Advertencia: mysqli_query() espera que el parámetro 1 sea MySQLi, nulo indicado en" Error
En su intento de crear una CMS, encontró el siguiente mensaje de error:
"Advertencia: mysqli_query() espera que el parámetro 1 sea MySQLi, se proporciona nulo en"
Causa del error
Este error indica que la función mysqli_query(), que ejecuta consultas SQL, espera un objeto MySQLi como primer parámetro. Sin embargo, en su función getPosts(), está pasando un valor nulo en lugar de un objeto MySQLi.
Solución
La solución a este problema es garantizar que el El objeto $con MySQLi está dentro del alcance de la función getPosts(). En su código, $con está definido en el ámbito global, pero no es accesible dentro de la función.
Pasar el objeto MySQLi como una dependencia
Una forma de La dirección de esto es pasar el objeto MySQLi a la función getPosts() como una dependencia. Así es como puedes hacerlo:
function getPosts(mysqli $con) { // etc }
Al convertir el objeto MySQLi en un parámetro de la función, garantiza que esté disponible dentro del alcance de la función y pueda ser utilizado por mysqli_query().
Recomendaciones adicionales
Además de resolver el problema del alcance, considere implementar las siguientes recomendaciones:
Aquí hay un ejemplo de cómo implementar estas recomendaciones:
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);
Al implementar estas recomendaciones, puede garantizar la solidez y confiabilidad de su CMS personalizado.
Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3