"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > ¿Por qué `mysqli_query()` devuelve "Advertencia: mysqli_query() espera que el parámetro 1 sea MySQLi, dado nulo"?

¿Por qué `mysqli_query()` devuelve "Advertencia: mysqli_query() espera que el parámetro 1 sea MySQLi, dado nulo"?

Publicado el 2024-12-22
Navegar:870

Why Does `mysqli_query()` Return

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:

  • Manejar errores y fallas de conexión usando mysqli_report() para configurar las opciones de informe de errores.
  • Detenga la ejecución del script si se produce un error de conexión o de consulta usando mysqli::error().

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.

Último tutorial Más>

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