query number mysqli_fetch_row mysqli_fetch_assoc mysqli_fetch_array mysqli_error imprimir error ejemplo php mysqli

php - number - or die mysqli_error



PHP/MySQLi-Error fatal: llamada a una funciĆ³n miembro mysqli_query() en un objeto no objeto (1)

Aquí está mi código:

require "../include/functions.php"; error_reporting(E_ALL); ini_set(''display_errors'', ''1''); ConnectWithMySQLiDatabase(); $Cat = addslashes($_POST["Category"]); $v = $conn->mysqli_query($conn,"SELECT * FROM `categories` WHERE `id`=$Cat"); $vrowi = mysqli_fetch_array($v, MYSQLI_ASSOC); $url = $conn->real_escape_string($vrowi[''Link'']);

Esto es lo que tengo en functions.php :

function ConnectWithMySQLiDatabase() { global $dbhost, $dbuser, $dbpass, $database, $HTTP_SERVER_VARS; $conn = new mysqli($dbhost, $dbuser, $dbpass, $database); // Check connection if (mysqli_connect_errno()) { echo "Failed to connect to MySQL: " . mysqli_connect_error(); } $conn->set_charset("utf8"); global $conn; }

Las variables $dbhost, $dbuser, $dbpass, $database, están configuradas correctamente.

Cuando intento ejecutar mysqli_query recibo el siguiente error:

<b>Fatal error</b>: Call to a member function mysqli_query() on a non-object in <b>/fetch_category_products.php</b> on line <b>19</b><br />

La línea 19 es:

$v = $conn->mysqli_query($conn,"SELECT * FROM `categories` WHERE `id`=$Cat");

¿Puedes decirme dónde está mi error y cómo puedo solucionarlo?

¡Gracias por adelantado!


Ese error surge porque la conexión de la base de datos no funciona; literalmente significa que el valor de $conn no es un objeto, lo que probablemente significa que no está establecido o configurado en false porque la conexión falló. Cambie ConnectWithMySQLiDatabase() para que su última línea no sea global $conn; pero return $conn; .

Ahora cambie la forma en que llama a esa función desde ConnectWithMySQLiDatabase(); ser $conn = ConnectWithMySQLiDatabase(); y creo que el problema desaparecerá

OP publicó una actualización después de este cambio, y la confusión se hizo más clara: ahora tienen una conexión MySQLi , solo deben usar la query , como esta:

$v = $conn->query("SELECT * FROM `categories` WHERE `id`=$Cat");