PHP - Warning: mysqli_query() expects parameter 1 to be mysqli

 
Vista:
sin imagen de perfil

Warning: mysqli_query() expects parameter 1 to be mysqli

Publicado por Katze (6 intervenciones) el 09/06/2018 13:50:22
Tengo este código que me da un error que dice "Warning: mysqli_query() expects parameter 1 to be mysqli" en las líneas 37, 38 y 40. ¿Cómo lo soluciono?

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
<?php include "conexion_base_datos.php"; ?>
 
<!DOCTYPE html>
<html lang="es-ES">
	<head>
		<title>Cuerda</title>
		<meta charset="utf-8">
		<link href="bootstrap-3.3.7/dist/css/bootstrap.min.css" rel="stylesheet">
	        <link href="bootstrap-3.3.7/docs/examples/grid/grid.css" rel="stylesheet">
		<link rel="stylesheet" type="text/css" href="estilo.css">
	</head>
	<body>
		<header>
                        <a href="principal.php"><img style="width: 40px" src="imagenes/cuadrado.png"></a>
			<img class="imagen_principal" src="imagenes/cuerda.jpg">
		</header>
 
		<nav class="menu">
			<ul>
				<li><a href="principal.php">Inicio</a></li>
				<li><a href="cuerda.php" class="active">Cuerda</a></li>
				<li><a href="viento.php">Viento</a></li>
				<li><a href="percusion.php">Percusión</a></li>
				<li><a href="accesorios.php">Accesorios</a></li>
				<li><a href="contacto.php">Contacto</a></li>
				<li><a href="registro.php">Registrarse</a></li>
			</ul>
		</nav>
 
		<div class="productos">
			<section class="subcategorias col-xs-2" style=" background: red">
				<ul>
					<?php
						$conexion = mysqli_connect($servidor, $usuario_BD, $contrasena_BD, $basedatos);
 
						$consulta = "SELECT * FROM producto WHERE categoria = 'cuerda'";
	 					$respuesta = mysqli_query($consulta, $conexion);
	 					$cantidad_registros = mysqli_num_rows($respuesta);
 
						while ($fila = mysqli_fetch_array($respuesta)) {
							echo "<li><a href='#'>".$fila["subcategoria"]."</a></li>";
						}
					?>
				</ul>
			</section>
 
			<div>
				<?php
					$conexion = mysqli_connect($servidor, $usuario_BD, $contrasena_BD, $basedatos);
 
					mysqli_set_charset($conexion, "utf8");
					$consulta = "SELECT * FROM producto WHERE categoria = 'cuerda'";
					$respuesta = mysqli_query($conexion, $consulta);
 
					while ($fila = mysqli_fetch_array($respuesta)) {
						echo "<div class='col-md-3 producto_individual'>";
						$consulta2 = "SELECT * FROM producto WHERE id_producto = " .$fila["id_producto"] . " ";
						$respuesta2 = mysqli_query($conexion, $consulta2);
 
						echo "<h2>" . $fila['nombre_producto'] . "</h2>";
						echo "<img src='imagenes/" .$fila["imagen"] . "' width = 100px>";
						echo "<p>" . $fila['descripcion_corta'] . "</p>";
						echo "<p>Precio: " . $fila['precio'] . " €</p>";
						echo "<a class='btn btn-danger' href='producto_individual.php?id_producto=" .$fila["id_producto"]. "'><strong>Ver más</strong></a></p></div>";
					}
					mysqli_close($conexion);
		       	?>
	       	</div>
		</div>
 
		<footer>
			<h3>Nombre de la tienda</h3>
		</footer>
	</body>
</html>

He probado a meter las consultas del bloque "subcategorías" en una consulta mysql (abajo la pongo) en vez de mysqli y se va el error, pero así no me deja ponerle el charset utf-8 ni me detecta el meta charset de la cabecera.

1
2
3
4
5
6
7
8
9
10
11
12
<?php
		$conexion = mysql_connect($servidor, $usuario_BD, $contrasena_BD);
		mysql_select_db($basedatos);
 
		$consulta = "SELECT * FROM producto WHERE categoria = 'cuerda'";
	 	$respuesta = mysql_query($consulta, $conexion);
	 	$cantidad_registros = mysql_num_rows($respuesta);
 
		while ($fila = mysql_fetch_array($respuesta)) {
			echo "<li><a href='#'>".$fila["subcategoria"]."</a></li>";
		}
?>

¿Cómo soluciono los dos errores?
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 100
Ha disminuido 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Warning: mysqli_query() expects parameter 1 to be mysqli

Publicado por Juan (43 intervenciones) el 09/06/2018 14:44:44
Buenas Katze

A primera vista, el problema es que has cambiado los parámetros de orden poniendo primero la consulta y luego la conexión, cuando es al revés, es decir, debería ser algo así:

1
mysqli_query($conexion,$query);

Un saludo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar
sin imagen de perfil

Warning: mysqli_query() expects parameter 1 to be mysqli

Publicado por Katze (6 intervenciones) el 09/06/2018 15:44:19
Era ese el error, ya funciona perfectamente. Muchas gracias ^-^
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar